aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c')
-rw-r--r--libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c
new file mode 100644
index 0000000..24529e5
--- /dev/null
+++ b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c
@@ -0,0 +1,62 @@
1{
2 DATA32 *ptr;
3 RGBA_Gfx_Func func;
4 RGBA_Image *maskobj;
5 DATA8 *mask = NULL;
6#ifdef EVAS_SLI
7 int ysli = dst_clip_y;
8#endif
9
10 ptr = src->image.data + ((dst_clip_y - dst_region_y + src_region_y) * src_w) + (dst_clip_x - dst_region_x) + src_region_x;
11 if (dc->mask.mask)
12 {
13 func = evas_common_gfx_func_composite_pixel_mask_span_get(NULL, NULL, dst_clip_w, dc->render_op);
14 maskobj = dc->mask.mask;
15 mask = maskobj->mask.mask;
16 }
17 else if (dc->mul.use)
18 func = evas_common_gfx_func_composite_pixel_color_span_get(src, dc->mul.col, dst, dst_clip_w, dc->render_op);
19 else
20 func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, dc->render_op);
21
22 if (mask)
23 {
24 // mask += dst_clip_x - dc->mask.x;
25 // mask += (dst_clip_y - dc->mask.y) * maskobj->cache_entry.w;
26 while (dst_clip_h--)
27 {
28
29#ifdef EVAS_SLI
30 if (((ysli) % dc->sli.h) == dc->sli.y)
31#endif
32 {
33 func(ptr, mask, dc->mul.col, dst_ptr, dst_clip_w);
34 }
35#ifdef EVAS_SLI
36 ysli++;
37#endif
38 ptr += src_w;
39 dst_ptr += dst_w;
40 mask += maskobj->cache_entry.w;
41 }
42 }
43 else
44 {
45 while (dst_clip_h--)
46 {
47#ifdef EVAS_SLI
48 if (((ysli) % dc->sli.h) == dc->sli.y)
49#endif
50 {
51 func(ptr, NULL, dc->mul.col, dst_ptr, dst_clip_w);
52 }
53#ifdef EVAS_SLI
54 ysli++;
55#endif
56 ptr += src_w;
57 dst_ptr += dst_w;
58 }
59 }
60}
61
62/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/