diff options
author | David Walter Seikel | 2012-01-04 18:41:13 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-04 18:41:13 +1000 |
commit | dd7595a3475407a7fa96a97393bae8c5220e8762 (patch) | |
tree | e341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/evas/src/lib/engines/common_8/evas_soft8_scanline_fill.c | |
parent | Add the skeleton. (diff) | |
download | SledjHamr-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 '')
-rw-r--r-- | libraries/evas/src/lib/engines/common_8/evas_soft8_scanline_fill.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libraries/evas/src/lib/engines/common_8/evas_soft8_scanline_fill.c b/libraries/evas/src/lib/engines/common_8/evas_soft8_scanline_fill.c new file mode 100644 index 0000000..f1f3b8f --- /dev/null +++ b/libraries/evas/src/lib/engines/common_8/evas_soft8_scanline_fill.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /** NOTE: This file is meant to be included by users **/ | ||
2 | |||
3 | /***************************************************************************** | ||
4 | * Point processing | ||
5 | * | ||
6 | * _soft8_pt_<description>_<src>_<dst>[_<modifier>]() | ||
7 | * | ||
8 | * Scanline processing | ||
9 | * | ||
10 | * _soft8_scanline_<description>_<src>_<dst>[_<modifier>]() | ||
11 | * | ||
12 | ****************************************************************************/ | ||
13 | EFL_ALWAYS_INLINE void | ||
14 | _soft8_pt_fill_solid_solid(DATA8 * dst, DATA8 gry8) | ||
15 | { | ||
16 | *dst = gry8; | ||
17 | } | ||
18 | |||
19 | EFL_ALWAYS_INLINE void | ||
20 | _soft8_scanline_fill_solid_solid(DATA8 * dst, int size, DATA8 gry8) | ||
21 | { | ||
22 | memset(dst, gry8, size); | ||
23 | } | ||
24 | |||
25 | EFL_ALWAYS_INLINE void | ||
26 | _soft8_pt_fill_transp_solid(DATA8 * dst, DATA8 gry8, DATA8 alpha) | ||
27 | { | ||
28 | *dst = GRY_8_BLEND(gry8, *dst, alpha); | ||
29 | } | ||
30 | |||
31 | static void | ||
32 | _soft8_scanline_fill_transp_solid(DATA8 * dst, int size, DATA8 gry8, | ||
33 | DATA8 alpha) | ||
34 | { | ||
35 | DATA8 *start, *end; | ||
36 | |||
37 | start = dst; | ||
38 | pld(start, 0); | ||
39 | end = start + (size & ~7); | ||
40 | |||
41 | while (start < end) | ||
42 | { | ||
43 | pld(start, 32); | ||
44 | UNROLL8( | ||
45 | { | ||
46 | _soft8_pt_fill_transp_solid(start, gry8, alpha); start++;} | ||
47 | ); | ||
48 | } | ||
49 | |||
50 | end = start + (size & 7); | ||
51 | for (; start < end; start++) | ||
52 | _soft8_pt_fill_transp_solid(start, gry8, alpha); | ||
53 | } | ||