6 DATA32 *buf, *src_data;
10 src_data = src->image.data;
12 xpoints = scale_calc_x_points(src_region_w, dst_region_w);
13 ypoints = scale_calc_y_points(src_data, src_w, src_region_h, dst_region_h);
14 xapoints = scale_calc_a_points(src_region_w, dst_region_w);
15 yapoints = scale_calc_a_points(src_region_h, dst_region_h);
16 if ( (!xpoints) || (!ypoints) || (!xapoints) || (!yapoints) )
19 /* a scanline buffer */
20 buf = alloca(dst_clip_w * sizeof(DATA32));
23 func = evas_common_gfx_func_composite_pixel_color_span_get(src, dc->mul.col, dst, dst_clip_w, dc->render_op);
25 func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, dc->render_op);
26 /* scaling down vertically */
27 if ((dst_region_w >= src_region_w) &&
28 (dst_region_h < src_region_h))
30 #include "evas_scale_smooth_scaler_downy.c"
32 /* scaling down horizontally */
33 else if ((dst_region_w < src_region_w) &&
34 (dst_region_h >= src_region_h))
36 #include "evas_scale_smooth_scaler_downx.c"
38 /* scaling down both vertically & horizontally */
39 else if ((dst_region_w < src_region_w) &&
40 (dst_region_h < src_region_h))
42 #include "evas_scale_smooth_scaler_downx_downy.c"
46 if (xpoints) free(xpoints);
47 if (ypoints) free(ypoints);
48 if (xapoints) free(xapoints);
49 if (yapoints) free(yapoints);