forked from enlightenment/efl
Evas: Fix SW rendering COPY function with mask
This does not fix any known bug as there is no known path using this function.
This commit is contained in:
parent
792ac17736
commit
85ecf662d4
|
@ -3,20 +3,21 @@
|
||||||
static void
|
static void
|
||||||
_op_copy_mas_c_dp(DATA32 *s EINA_UNUSED, DATA8 *m, DATA32 c, DATA32 *d, int l) {
|
_op_copy_mas_c_dp(DATA32 *s EINA_UNUSED, DATA8 *m, DATA32 c, DATA32 *d, int l) {
|
||||||
DATA32 *e;
|
DATA32 *e;
|
||||||
int color;
|
int alpha;
|
||||||
UNROLL8_PLD_WHILE(d, l, e,
|
UNROLL8_PLD_WHILE(d, l, e,
|
||||||
{
|
{
|
||||||
color = *m;
|
alpha = *m;
|
||||||
switch(color)
|
switch(alpha)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
*d = 0;
|
||||||
break;
|
break;
|
||||||
case 255:
|
case 255:
|
||||||
*d = c;
|
*d = c;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
color++;
|
alpha++;
|
||||||
*d = INTERP_256(color, c, *d);
|
*d = MUL_256(alpha, c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
m++; d++;
|
m++; d++;
|
||||||
|
|
Loading…
Reference in New Issue