Save the mask_color field in the undo raw image data.

This commit is contained in:
David Capello 2010-11-06 19:10:00 -03:00
parent 97f04c7a79
commit 982a171995

View File

@ -1991,6 +1991,7 @@ static int get_raw_dirty_size(Dirty* dirty)
DWORD image ID DWORD image ID
BYTE image type BYTE image type
WORD[2] w, h WORD[2] w, h
DWORD mask color
for each line ("h" times) for each line ("h" times)
for each pixel ("w" times) for each pixel ("w" times)
BYTE[4] for RGB images, or BYTE[4] for RGB images, or
@ -2007,6 +2008,7 @@ static Image* read_raw_image(ase_uint8* raw_data)
int imgtype; int imgtype;
int width; int width;
int height; int height;
ase_uint32 mask_color;
Image* image; Image* image;
int c, size; int c, size;
@ -2017,6 +2019,7 @@ static Image* read_raw_image(ase_uint8* raw_data)
read_raw_uint8(imgtype); /* imgtype */ read_raw_uint8(imgtype); /* imgtype */
read_raw_uint16(width); /* width */ read_raw_uint16(width); /* width */
read_raw_uint16(height); /* height */ read_raw_uint16(height); /* height */
read_raw_uint32(mask_color); /* mask color */
image = image_new(imgtype, width, height); image = image_new(imgtype, width, height);
size = image_line_size(image, image->w); size = image_line_size(image, image->w);
@ -2024,6 +2027,7 @@ static Image* read_raw_image(ase_uint8* raw_data)
for (c=0; c<image->h; c++) for (c=0; c<image->h; c++)
read_raw_data(image->line[c], size); read_raw_data(image->line[c], size);
image->mask_color = mask_color;
image->_setGfxObjId(image_id); image->_setGfxObjId(image_id);
return image; return image;
} }
@ -2038,6 +2042,7 @@ static ase_uint8* write_raw_image(ase_uint8* raw_data, Image* image)
write_raw_uint8(image->imgtype); /* imgtype */ write_raw_uint8(image->imgtype); /* imgtype */
write_raw_uint16(image->w); /* width */ write_raw_uint16(image->w); /* width */
write_raw_uint16(image->h); /* height */ write_raw_uint16(image->h); /* height */
write_raw_uint32(image->mask_color); /* mask color */
size = image_line_size(image, image->w); size = image_line_size(image, image->w);
for (c=0; c<image->h; c++) for (c=0; c<image->h; c++)
@ -2049,7 +2054,7 @@ static ase_uint8* write_raw_image(ase_uint8* raw_data, Image* image)
static int get_raw_image_size(Image* image) static int get_raw_image_size(Image* image)
{ {
ASSERT(image != NULL); ASSERT(image != NULL);
return 4+1+2+2+image_line_size(image, image->w) * image->h; return 4+1+2+2+4+image_line_size(image, image->w) * image->h;
} }
/*********************************************************************** /***********************************************************************