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/evas_convert_rgb_24.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/evas_convert_rgb_24.c | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_convert_rgb_24.c b/libraries/evas/src/lib/engines/common/evas_convert_rgb_24.c new file mode 100644 index 0000000..9efa006 --- /dev/null +++ b/libraries/evas/src/lib/engines/common/evas_convert_rgb_24.c | |||
@@ -0,0 +1,89 @@ | |||
1 | #include "evas_common.h" | ||
2 | #include "evas_convert_rgb_24.h" | ||
3 | |||
4 | #ifdef BUILD_CONVERT_24_RGB_888 | ||
5 | void | ||
6 | evas_common_convert_rgba_to_24bpp_rgb_888(DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x __UNUSED__, int dith_y __UNUSED__, DATA8 *pal __UNUSED__) | ||
7 | { | ||
8 | DATA32 *src_ptr; | ||
9 | DATA8 *dst_ptr; | ||
10 | int x, y; | ||
11 | |||
12 | dst_ptr = (DATA8 *)dst; | ||
13 | src_ptr = (DATA32 *)src; | ||
14 | |||
15 | for (y = 0; y < h; y++) | ||
16 | { | ||
17 | for (x = 0; x < w; x++) | ||
18 | { | ||
19 | dst_ptr[0] = R_VAL(src_ptr); | ||
20 | dst_ptr[1] = G_VAL(src_ptr); | ||
21 | dst_ptr[2] = B_VAL(src_ptr); | ||
22 | src_ptr++; | ||
23 | dst_ptr+=3; | ||
24 | } | ||
25 | src_ptr += src_jump; | ||
26 | dst_ptr += (dst_jump * 3); | ||
27 | } | ||
28 | return; | ||
29 | } | ||
30 | #endif | ||
31 | #ifdef BUILD_CONVERT_24_RGB_666 | ||
32 | void | ||
33 | evas_common_convert_rgba_to_24bpp_rgb_666(DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x __UNUSED__, int dith_y __UNUSED__, DATA8 *pal __UNUSED__) | ||
34 | { | ||
35 | DATA32 *src_ptr; | ||
36 | DATA8 *dst_ptr, *scratch_ptr; | ||
37 | DATA32 scratch; | ||
38 | int x, y; | ||
39 | |||
40 | dst_ptr = (DATA8 *)dst; | ||
41 | src_ptr = (DATA32 *)src; | ||
42 | |||
43 | scratch_ptr = (DATA8 *)(&scratch); | ||
44 | for (y = 0; y < h; y++) | ||
45 | { | ||
46 | for (x = 0; x < w; x++) | ||
47 | { | ||
48 | scratch = | ||
49 | (((R_VAL(src_ptr) << 12) | (B_VAL(src_ptr) >> 2)) & 0x03f03f) | | ||
50 | ((G_VAL(src_ptr) << 4) & 0x000fc0); | ||
51 | dst_ptr[0] = scratch_ptr[1]; | ||
52 | dst_ptr[1] = scratch_ptr[2]; | ||
53 | dst_ptr[2] = scratch_ptr[3]; | ||
54 | src_ptr++; | ||
55 | dst_ptr+=3; | ||
56 | } | ||
57 | src_ptr += src_jump; | ||
58 | dst_ptr += (dst_jump * 3); | ||
59 | } | ||
60 | return; | ||
61 | } | ||
62 | #endif | ||
63 | #ifdef BUILD_CONVERT_24_BGR_888 | ||
64 | void | ||
65 | evas_common_convert_rgba_to_24bpp_bgr_888(DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x __UNUSED__, int dith_y __UNUSED__, DATA8 *pal __UNUSED__) | ||
66 | { | ||
67 | DATA32 *src_ptr; | ||
68 | DATA8 *dst_ptr; | ||
69 | int x, y; | ||
70 | |||
71 | dst_ptr = (DATA8 *)dst; | ||
72 | src_ptr = (DATA32 *)src; | ||
73 | |||
74 | for (y = 0; y < h; y++) | ||
75 | { | ||
76 | for (x = 0; x < w; x++) | ||
77 | { | ||
78 | dst_ptr[2] = R_VAL(src_ptr); | ||
79 | dst_ptr[1] = G_VAL(src_ptr); | ||
80 | dst_ptr[0] = B_VAL(src_ptr); | ||
81 | src_ptr++; | ||
82 | dst_ptr+=3; | ||
83 | } | ||
84 | src_ptr += src_jump; | ||
85 | dst_ptr += (dst_jump * 3); | ||
86 | } | ||
87 | return; | ||
88 | } | ||
89 | #endif | ||