summaryrefslogtreecommitdiff
path: root/legacy
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2004-04-06 03:36:51 +0000
committerCarsten Haitzler <raster@rasterman.com>2004-04-06 03:36:51 +0000
commit920d35350915c373d52b1b89f74e5882ba29e18c (patch)
tree0f8f0c1d85ce402d9d77f08fccd8c7635824e04d /legacy
parentf92a6c5b029c5d0ad0e1d80437532ff71c5968c8 (diff)
jose's evas patches are in.
SVN revision: 9615
Diffstat (limited to '')
-rw-r--r--legacy/evas/AUTHORS1
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c11
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_color_pixel.c4
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_ops.h4
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c23
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c10
-rw-r--r--legacy/evas/src/lib/engines/common/evas_blend_pixel_pixel.c39
-rw-r--r--legacy/evas/src/lib/engines/common/evas_line_main.c16
8 files changed, 60 insertions, 48 deletions
diff --git a/legacy/evas/AUTHORS b/legacy/evas/AUTHORS
index 56dcee1a65..ef9d10a476 100644
--- a/legacy/evas/AUTHORS
+++ b/legacy/evas/AUTHORS
@@ -7,3 +7,4 @@ Corey Donohoe <atmos@atmos.org>
7Yuri Hudobin <glassy_ape@users.sourceforge.net> 7Yuri Hudobin <glassy_ape@users.sourceforge.net>
8Nathan Ingersoll <ningerso@d.umn.edu> 8Nathan Ingersoll <ningerso@d.umn.edu>
9Willem Monsuwe <willem@stack.nl> 9Willem Monsuwe <willem@stack.nl>
10Jose O Gonzalez <jose_ogp@juno.com>
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c b/legacy/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c
index 5bdbcef80b..034748125e 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c
+++ b/legacy/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c
@@ -147,12 +147,10 @@ evas_common_blend_alpha_color_rgba_to_rgba_c (DATA8 *src, DATA32 *dst, int len,
147 while (dst_ptr < dst_end_ptr) 147 while (dst_ptr < dst_end_ptr)
148 { 148 {
149 DATA32 tmp; 149 DATA32 tmp;
150 DATA8 a; 150 DATA8 a, aa;
151 DATA8 aa;
152 151
153 aa = (((*src_ptr) + 1) * A_VAL(&col)) >> 8; 152 aa = (((*src_ptr) + 1) * A_VAL(&col)) >> 8;
154 a = _evas_pow_lut[aa][A_VAL(dst_ptr)]; 153 switch (aa)
155 switch (a)
156 { 154 {
157 case 0: 155 case 0:
158 break; 156 break;
@@ -160,6 +158,10 @@ evas_common_blend_alpha_color_rgba_to_rgba_c (DATA8 *src, DATA32 *dst, int len,
160 *dst_ptr = col; 158 *dst_ptr = col;
161 break; 159 break;
162 default: 160 default:
161 a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
162 BLEND_COLOR(aa, A_VAL(dst_ptr),
163 255, A_VAL(dst_ptr),
164 tmp);
163 BLEND_COLOR(a, R_VAL(dst_ptr), 165 BLEND_COLOR(a, R_VAL(dst_ptr),
164 R_VAL(&col), R_VAL(dst_ptr), 166 R_VAL(&col), R_VAL(dst_ptr),
165 tmp); 167 tmp);
@@ -169,7 +171,6 @@ evas_common_blend_alpha_color_rgba_to_rgba_c (DATA8 *src, DATA32 *dst, int len,
169 BLEND_COLOR(a, B_VAL(dst_ptr), 171 BLEND_COLOR(a, B_VAL(dst_ptr),
170 B_VAL(&col), B_VAL(dst_ptr), 172 B_VAL(&col), B_VAL(dst_ptr),
171 tmp); 173 tmp);
172 A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((aa * (255 - A_VAL(dst_ptr))) / 255);
173 break; 174 break;
174 } 175 }
175 src_ptr++; 176 src_ptr++;
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_color_pixel.c b/legacy/evas/src/lib/engines/common/evas_blend_color_pixel.c
index 6d86ac86e7..d4c81e97fd 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_color_pixel.c
+++ b/legacy/evas/src/lib/engines/common/evas_blend_color_pixel.c
@@ -96,6 +96,9 @@ evas_common_blend_color_rgba_to_rgba_c(DATA32 src, DATA32 *dst, int len)
96 96
97 a = _evas_pow_lut[A_VAL(&src)][A_VAL(dst_ptr)]; 97 a = _evas_pow_lut[A_VAL(&src)][A_VAL(dst_ptr)];
98 98
99 BLEND_COLOR(A_VAL(&src), A_VAL(dst_ptr),
100 255, A_VAL(dst_ptr),
101 tmp);
99 BLEND_COLOR(a, R_VAL(dst_ptr), 102 BLEND_COLOR(a, R_VAL(dst_ptr),
100 R_VAL(&src), R_VAL(dst_ptr), 103 R_VAL(&src), R_VAL(dst_ptr),
101 tmp); 104 tmp);
@@ -105,7 +108,6 @@ evas_common_blend_color_rgba_to_rgba_c(DATA32 src, DATA32 *dst, int len)
105 BLEND_COLOR(a, B_VAL(dst_ptr), 108 BLEND_COLOR(a, B_VAL(dst_ptr),
106 B_VAL(&src), B_VAL(dst_ptr), 109 B_VAL(&src), B_VAL(dst_ptr),
107 tmp); 110 tmp);
108 A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((A_VAL(&src) * (255 - A_VAL(dst_ptr))) / 255);
109 111
110 dst_ptr++; 112 dst_ptr++;
111 } 113 }
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_ops.h b/legacy/evas/src/lib/engines/common/evas_blend_ops.h
index 62acf0cfa9..fb41836d76 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_ops.h
+++ b/legacy/evas/src/lib/engines/common/evas_blend_ops.h
@@ -9,6 +9,9 @@
9 if (A_VAL(src)) /* hmmm - do we need this? */ \ 9 if (A_VAL(src)) /* hmmm - do we need this? */ \
10 { \ 10 { \
11 __a = _evas_pow_lut[A_VAL(src)][A_VAL(dst)]; \ 11 __a = _evas_pow_lut[A_VAL(src)][A_VAL(dst)]; \
12 BLEND_COLOR(A_VAL(src), A_VAL(dst), \
13 255, A_VAL(dst), \
14 __tmp); \
12 BLEND_COLOR(__a, R_VAL(dst), \ 15 BLEND_COLOR(__a, R_VAL(dst), \
13 R_VAL(src), R_VAL(dst), \ 16 R_VAL(src), R_VAL(dst), \
14 __tmp); \ 17 __tmp); \
@@ -18,7 +21,6 @@
18 BLEND_COLOR(__a, B_VAL(dst), \ 21 BLEND_COLOR(__a, B_VAL(dst), \
19 B_VAL(src), B_VAL(dst), \ 22 B_VAL(src), B_VAL(dst), \
20 __tmp); \ 23 __tmp); \
21 A_VAL(dst) = A_VAL(dst) + ((A_VAL(src) * (255 - A_VAL(dst))) / 255);\
22 } \ 24 } \
23} 25}
24 26
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c b/legacy/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c
index 8f84d8e2ec..9b5cc02705 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c
+++ b/legacy/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c
@@ -27,7 +27,10 @@ evas_common_blend_pixels_cmod_rgba_to_rgb_c(DATA32 *src, DATA32 *dst, int len, D
27 case 0: 27 case 0:
28 break; 28 break;
29 case 255: 29 case 255:
30 *dst_ptr = *src_ptr; 30 A_VAL(dst_ptr) = 0xff;
31 R_VAL(dst_ptr) = rmod[R_VAL(src_ptr)];
32 G_VAL(dst_ptr) = gmod[G_VAL(src_ptr)];
33 B_VAL(dst_ptr) = bmod[B_VAL(src_ptr)];
31 break; 34 break;
32 default: 35 default:
33 BLEND_COLOR(a, R_VAL(dst_ptr), 36 BLEND_COLOR(a, R_VAL(dst_ptr),
@@ -60,17 +63,23 @@ evas_common_blend_pixels_cmod_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int len,
60 while (dst_ptr < dst_end_ptr) 63 while (dst_ptr < dst_end_ptr)
61 { 64 {
62 DATA32 tmp; 65 DATA32 tmp;
63 DATA8 a; 66 DATA8 a, aa;
64 67
65 a = _evas_pow_lut[amod[A_VAL(src_ptr)]][A_VAL(dst_ptr)]; 68 aa = amod[A_VAL(src_ptr)];
66 switch (a) 69 switch (aa)
67 { 70 {
68 case 0: 71 case 0:
69 break; 72 break;
70 case 255: 73 case 255:
71 *dst_ptr = *src_ptr; 74 A_VAL(dst_ptr) = 0xff;
75 R_VAL(dst_ptr) = rmod[R_VAL(src_ptr)];
76 G_VAL(dst_ptr) = gmod[G_VAL(src_ptr)];
77 B_VAL(dst_ptr) = bmod[B_VAL(src_ptr)];
72 break; 78 break;
73 default: 79 default:
80 a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
81 BLEND_COLOR(aa,A_VAL(dst_ptr),
82 255,A_VAL(dst_ptr),tmp);
74 BLEND_COLOR(a, R_VAL(dst_ptr), 83 BLEND_COLOR(a, R_VAL(dst_ptr),
75 rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), 84 rmod[R_VAL(src_ptr)], R_VAL(dst_ptr),
76 tmp); 85 tmp);
@@ -80,8 +89,6 @@ evas_common_blend_pixels_cmod_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int len,
80 BLEND_COLOR(a, B_VAL(dst_ptr), 89 BLEND_COLOR(a, B_VAL(dst_ptr),
81 bmod[B_VAL(src_ptr)], B_VAL(dst_ptr), 90 bmod[B_VAL(src_ptr)], B_VAL(dst_ptr),
82 tmp); 91 tmp);
83 BLEND_COLOR(A_VAL(src),A_VAL(dst),255,A_VAL(dst),tmp);
84/* A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((amod[A_VAL(src_ptr)] * (255 - A_VAL(dst_ptr))) / 255);*/
85 break; 92 break;
86 } 93 }
87 src_ptr++; 94 src_ptr++;
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c b/legacy/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c
index 677c9e509d..6c31b300eb 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c
+++ b/legacy/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c
@@ -202,6 +202,9 @@ evas_common_blend_pixels_mul_color_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int
202 default: 202 default:
203 a = _evas_pow_lut[aa][A_VAL(dst_ptr)]; 203 a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
204 204
205 BLEND_COLOR(aa, A_VAL(dst_ptr),
206 255, A_VAL(dst_ptr),
207 tmp);
205 BLEND_COLOR(a, R_VAL(dst_ptr), 208 BLEND_COLOR(a, R_VAL(dst_ptr),
206 R_VAL(src_ptr), R_VAL(dst_ptr), 209 R_VAL(src_ptr), R_VAL(dst_ptr),
207 tmp); 210 tmp);
@@ -211,7 +214,6 @@ evas_common_blend_pixels_mul_color_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int
211 BLEND_COLOR(a, B_VAL(dst_ptr), 214 BLEND_COLOR(a, B_VAL(dst_ptr),
212 B_VAL(src_ptr), B_VAL(dst_ptr), 215 B_VAL(src_ptr), B_VAL(dst_ptr),
213 tmp); 216 tmp);
214 A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((aa * (255 - A_VAL(dst_ptr))) / 255);
215 break; 217 break;
216 } 218 }
217 src_ptr++; 219 src_ptr++;
@@ -231,14 +233,17 @@ evas_common_blend_pixels_mul_color_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int
231 case 0: 233 case 0:
232 break; 234 break;
233 case 255: 235 case 255:
236 A_VAL(dst_ptr) = 255;
234 R_VAL(dst_ptr) = ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8); 237 R_VAL(dst_ptr) = ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8);
235 G_VAL(dst_ptr) = ((G_VAL(src_ptr) * (G_VAL(&mul_color) + 1)) >> 8); 238 G_VAL(dst_ptr) = ((G_VAL(src_ptr) * (G_VAL(&mul_color) + 1)) >> 8);
236 B_VAL(dst_ptr) = ((B_VAL(src_ptr) * (B_VAL(&mul_color) + 1)) >> 8); 239 B_VAL(dst_ptr) = ((B_VAL(src_ptr) * (B_VAL(&mul_color) + 1)) >> 8);
237 A_VAL(dst_ptr) = 255;
238 break; 240 break;
239 default: 241 default:
240 a = _evas_pow_lut[aa][A_VAL(dst_ptr)]; 242 a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
241 243
244 BLEND_COLOR(aa, A_VAL(dst_ptr),
245 255, A_VAL(dst_ptr),
246 tmp);
242 BLEND_COLOR(a, R_VAL(dst_ptr), 247 BLEND_COLOR(a, R_VAL(dst_ptr),
243 ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8), R_VAL(dst_ptr), 248 ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8), R_VAL(dst_ptr),
244 tmp); 249 tmp);
@@ -248,7 +253,6 @@ evas_common_blend_pixels_mul_color_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int
248 BLEND_COLOR(a, B_VAL(dst_ptr), 253 BLEND_COLOR(a, B_VAL(dst_ptr),
249 ((B_VAL(src_ptr) * (B_VAL(&mul_color) + 1)) >> 8), B_VAL(dst_ptr), 254 ((B_VAL(src_ptr) * (B_VAL(&mul_color) + 1)) >> 8), B_VAL(dst_ptr),
250 tmp); 255 tmp);
251 A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((aa * (255 - A_VAL(dst_ptr))) / 255);
252 break; 256 break;
253 } 257 }
254 src_ptr++; 258 src_ptr++;
diff --git a/legacy/evas/src/lib/engines/common/evas_blend_pixel_pixel.c b/legacy/evas/src/lib/engines/common/evas_blend_pixel_pixel.c
index 8bca7a0e4c..4d7163c9cf 100644
--- a/legacy/evas/src/lib/engines/common/evas_blend_pixel_pixel.c
+++ b/legacy/evas/src/lib/engines/common/evas_blend_pixel_pixel.c
@@ -4,8 +4,6 @@
4#include "evas_mmx.h" 4#include "evas_mmx.h"
5#endif 5#endif
6 6
7#define CONDITIONAL_BLEND 1
8
9extern DATA8 _evas_pow_lut[256][256]; 7extern DATA8 _evas_pow_lut[256][256];
10extern const DATA16 _evas_const_c1[4]; 8extern const DATA16 _evas_const_c1[4];
11 9
@@ -22,9 +20,11 @@ evas_common_blend_pixels_rgba_to_rgb_c(DATA32 *src, DATA32 *dst, int len)
22 while (dst_ptr < dst_end_ptr) 20 while (dst_ptr < dst_end_ptr)
23 { 21 {
24 DATA32 tmp; 22 DATA32 tmp;
23 DATA8 a;
24
25 a = A_VAL(src_ptr);
25 26
26#ifdef CONDITIONAL_BLEND 27 switch (a)
27 switch (A_VAL(src_ptr))
28 { 28 {
29 case 0: 29 case 0:
30 break; 30 break;
@@ -32,31 +32,17 @@ evas_common_blend_pixels_rgba_to_rgb_c(DATA32 *src, DATA32 *dst, int len)
32 *dst_ptr = *src_ptr; 32 *dst_ptr = *src_ptr;
33 break; 33 break;
34 default: 34 default:
35 BLEND_COLOR(A_VAL(src_ptr), R_VAL(dst_ptr), 35 BLEND_COLOR(a, R_VAL(dst_ptr),
36 R_VAL(src_ptr), R_VAL(dst_ptr), 36 R_VAL(src_ptr), R_VAL(dst_ptr),
37 tmp); 37 tmp);
38 BLEND_COLOR(A_VAL(src_ptr), G_VAL(dst_ptr), 38 BLEND_COLOR(a, G_VAL(dst_ptr),
39 G_VAL(src_ptr), G_VAL(dst_ptr), 39 G_VAL(src_ptr), G_VAL(dst_ptr),
40 tmp); 40 tmp);
41 BLEND_COLOR(A_VAL(src_ptr), B_VAL(dst_ptr), 41 BLEND_COLOR(a, B_VAL(dst_ptr),
42 B_VAL(src_ptr), B_VAL(dst_ptr), 42 B_VAL(src_ptr), B_VAL(dst_ptr),
43 tmp); 43 tmp);
44 break; 44 break;
45 } 45 }
46#else
47 if (A_VAL(src_ptr))
48 {
49 BLEND_COLOR(A_VAL(src_ptr), R_VAL(dst_ptr),
50 R_VAL(src_ptr), R_VAL(dst_ptr),
51 tmp);
52 BLEND_COLOR(A_VAL(src_ptr), G_VAL(dst_ptr),
53 G_VAL(src_ptr), G_VAL(dst_ptr),
54 tmp);
55 BLEND_COLOR(A_VAL(src_ptr), B_VAL(dst_ptr),
56 B_VAL(src_ptr), B_VAL(dst_ptr),
57 tmp);
58 }
59#endif
60 src_ptr++; 46 src_ptr++;
61 dst_ptr++; 47 dst_ptr++;
62 } 48 }
@@ -128,9 +114,10 @@ evas_common_blend_pixels_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int len)
128 while (dst_ptr < dst_end_ptr) 114 while (dst_ptr < dst_end_ptr)
129 { 115 {
130 DATA32 tmp; 116 DATA32 tmp;
131 DATA8 a; 117 DATA8 a, aa;
132 118
133 switch (A_VAL(src_ptr)) 119 aa = A_VAL(src_ptr);
120 switch (aa)
134 { 121 {
135 case 0: 122 case 0:
136 break; 123 break;
@@ -138,8 +125,11 @@ evas_common_blend_pixels_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int len)
138 *dst_ptr = *src_ptr; 125 *dst_ptr = *src_ptr;
139 break; 126 break;
140 default: 127 default:
141 a = _evas_pow_lut[A_VAL(src_ptr)][A_VAL(dst_ptr)]; 128 a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
142 129
130 BLEND_COLOR(aa, A_VAL(dst_ptr),
131 255, A_VAL(dst_ptr),
132 tmp);
143 BLEND_COLOR(a, R_VAL(dst_ptr), 133 BLEND_COLOR(a, R_VAL(dst_ptr),
144 R_VAL(src_ptr), R_VAL(dst_ptr), 134 R_VAL(src_ptr), R_VAL(dst_ptr),
145 tmp); 135 tmp);
@@ -149,7 +139,6 @@ evas_common_blend_pixels_rgba_to_rgba_c(DATA32 *src, DATA32 *dst, int len)
149 BLEND_COLOR(a, B_VAL(dst_ptr), 139 BLEND_COLOR(a, B_VAL(dst_ptr),
150 B_VAL(src_ptr), B_VAL(dst_ptr), 140 B_VAL(src_ptr), B_VAL(dst_ptr),
151 tmp); 141 tmp);
152 A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((A_VAL(src_ptr) * (255 - A_VAL(dst_ptr))) / 255);
153 } 142 }
154 src_ptr++; 143 src_ptr++;
155 dst_ptr++; 144 dst_ptr++;
diff --git a/legacy/evas/src/lib/engines/common/evas_line_main.c b/legacy/evas/src/lib/engines/common/evas_line_main.c
index 426632f74d..92ab41505e 100644
--- a/legacy/evas/src/lib/engines/common/evas_line_main.c
+++ b/legacy/evas/src/lib/engines/common/evas_line_main.c
@@ -31,6 +31,8 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
31 sx = SGN(dx); 31 sx = SGN(dx);
32 sy = SGN(dy); 32 sy = SGN(dy);
33 33
34 col = dc->col.col;
35
34 if ((dx == 0) && (dy == 0)) 36 if ((dx == 0) && (dy == 0))
35 { 37 {
36 if ((x1 < 0) || 38 if ((x1 < 0) ||
@@ -54,6 +56,9 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
54 ptr = dst->image->data + (y1 * dst->image->w) + x1; 56 ptr = dst->image->data + (y1 * dst->image->w) + x1;
55 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)]; 57 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)];
56 58
59 BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr),
60 255, A_VAL(ptr),
61 __blend_tmp);
57 BLEND_COLOR(__blend_a, R_VAL(ptr), 62 BLEND_COLOR(__blend_a, R_VAL(ptr),
58 R_VAL(&(col)), R_VAL(ptr), 63 R_VAL(&(col)), R_VAL(ptr),
59 __blend_tmp); 64 __blend_tmp);
@@ -63,7 +68,6 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
63 BLEND_COLOR(__blend_a, B_VAL(ptr), 68 BLEND_COLOR(__blend_a, B_VAL(ptr),
64 B_VAL(&(col)), B_VAL(ptr), 69 B_VAL(&(col)), B_VAL(ptr),
65 __blend_tmp); 70 __blend_tmp);
66 A_VAL(ptr) = A_VAL(ptr) + ((A_VAL(&(col)) * (255 - A_VAL(ptr))) / 255);
67 } 71 }
68 else 72 else
69 { 73 {
@@ -86,8 +90,6 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
86 im = dst->image->data; 90 im = dst->image->data;
87 im_w = dst->image->w; 91 im_w = dst->image->w;
88 im_h = dst->image->h; 92 im_h = dst->image->h;
89 col = dc->col.col;
90 if (!A_VAL(&(col))) return;
91 93
92 ext_x = 0; ext_y = 0; ext_w = im_w; ext_h = im_h; 94 ext_x = 0; ext_y = 0; ext_w = im_w; ext_h = im_h;
93 if (dc->clip.use) 95 if (dc->clip.use)
@@ -146,6 +148,9 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
146 148
147 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)]; 149 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)];
148 150
151 BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr),
152 255, A_VAL(ptr),
153 __blend_tmp);
149 BLEND_COLOR(__blend_a, R_VAL(ptr), 154 BLEND_COLOR(__blend_a, R_VAL(ptr),
150 R_VAL(&(col)), R_VAL(ptr), 155 R_VAL(&(col)), R_VAL(ptr),
151 __blend_tmp); 156 __blend_tmp);
@@ -155,7 +160,6 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
155 BLEND_COLOR(__blend_a, B_VAL(ptr), 160 BLEND_COLOR(__blend_a, B_VAL(ptr),
156 B_VAL(&(col)), B_VAL(ptr), 161 B_VAL(&(col)), B_VAL(ptr),
157 __blend_tmp); 162 __blend_tmp);
158 A_VAL(ptr) = A_VAL(ptr) + ((A_VAL(&(col)) * (255 - A_VAL(ptr))) / 255);
159 } 163 }
160 } 164 }
161 if (x == x2) return; 165 if (x == x2) return;
@@ -183,6 +187,9 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
183 187
184 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)]; 188 __blend_a = _evas_pow_lut[A_VAL(&(col))][A_VAL(ptr)];
185 189
190 BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr),
191 255, A_VAL(ptr),
192 __blend_tmp);
186 BLEND_COLOR(__blend_a, R_VAL(ptr), 193 BLEND_COLOR(__blend_a, R_VAL(ptr),
187 R_VAL(&(col)), R_VAL(ptr), 194 R_VAL(&(col)), R_VAL(ptr),
188 __blend_tmp); 195 __blend_tmp);
@@ -192,7 +199,6 @@ evas_common_line_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
192 BLEND_COLOR(__blend_a, B_VAL(ptr), 199 BLEND_COLOR(__blend_a, B_VAL(ptr),
193 B_VAL(&(col)), B_VAL(ptr), 200 B_VAL(&(col)), B_VAL(ptr),
194 __blend_tmp); 201 __blend_tmp);
195 A_VAL(ptr) = A_VAL(ptr) + ((A_VAL(&(col)) * (255 - A_VAL(ptr))) / 255);
196 } 202 }
197 } 203 }
198 if (y == y2) return; 204 if (y == y2) return;