pike.git / src / modules / Image / layers.c

version» Context lines:

pike.git/src/modules/Image/layers.c:2173:    }    else if (alpha==1.0)    {    if (!la) /* no layer alpha => full opaque */    {    memcpy(d,l,sizeof(rgb_group)*len);    smear_color(da,white,len);    }    else    { +  UINT64 *rnd;    push_random_string(len*8); -  UINT64 *rnd = (UINT64*)Pike_sp[-1].u.string->str; +  rnd = (UINT64*)Pike_sp[-1].u.string->str;    while (len--)    {    if (rnd[len]%(255*255) <    (unsigned)(la->r*87 + la->g*127 + la->b*41))    *d=*l,*da=white;    else    *d=*s,*da=*sa;    l++; s++; la++; sa++; da++; d++;    }    pop_stack();    }    }    else    {    int v = (int)(COLORMAX*alpha);    if (!la) /* no layer alpha => full opaque */    { -  +  unsigned char *rnd    push_random_string(len); -  unsigned char *rnd = (unsigned char*)Pike_sp[-1].u.string->str; +  rnd = (unsigned char*)Pike_sp[-1].u.string->str;    while (len--)    {    if (rnd[len] < (unsigned)v)    *d=*l,*da=white;    else    *d=*s,*da=*sa;    l++; s++; sa++; da++; d++;    }    pop_stack();    }    else    { -  +  UINT64 *rnd;    push_random_string(len*8); -  UINT64 *rnd = (UINT64*)Pike_sp[-1].u.string->str; +  rnd = (UINT64*)Pike_sp[-1].u.string->str;    while (len--)    {    if (rnd[len]%(255*255) <    (unsigned)((la->r*87 + la->g*127 + la->b*41)>>8)*v)    *d=*l,*da=white;    else    *d=*s,*da=*sa;    l++; s++; la++; sa++; da++; d++;    }    pop_stack();