for(t=0;t<gradient.num;t++)
{
gradient.ratios[t] = readu8();
- if(shape>=3)
+ if(shape<3)
gradient.rgb[t] = readRGB();
else
gradient.rgba[t] = readRGBA();
*pos = writer_getpos(&w);
}
-struct CXFORM readCXFORM()
+struct CXFORM readCXFORM(char alpha)
{
struct CXFORM c;
int bits;
c.hasadd=readbit();
c.hasmult=readbit();
bits=getbits(4);
- c.alpha = 0;
+ c.alpha = alpha;
if (c.hasmult)
{
obj -> matrix = readMATRIX();
obj -> hascxform = (getinputpos() < &tag->data[tag->length]);
if(obj -> hascxform)
- obj -> cxform = readCXFORM();
+ obj -> cxform = readCXFORM(0);
}
void placeobject_write (struct PlaceObject*obj, struct writer_t*w)
obj->matrix = readMATRIX();
}
if(obj->hascolortransform) {
- obj->cxform = readCXFORM();
+ obj->cxform = readCXFORM(0);
}
if(obj->hasratio) {
obj->ratio=readu16();
struct RGB readRGB();
struct MATRIX readMATRIX();
unsigned char* readSTRING();
-struct CXFORM readCXFORM();
struct CLIPACTIONS readCLIPACTIONS();
void writeRECT(u8**pos, struct RECT*r);
struct RGBA readRGBA();
struct GRADIENT readGRADIENT(int shape);
struct RECT readRECT();
-struct CXFORM readCXFORM();
+struct CXFORM readCXFORM(char alpha);
struct MATRIX readMATRIX();
unsigned char* readSTRING();
int swf_read_tag(struct swf_tag* swftag);