forked from enlightenment/efl
From: Jeonghyun Yun <jh0506.yun@samsung.com>
Subject: Re: [E-devel] [Patch] evas_image_load_bmp small patch When I tested some bmp files on evas, I found one bmp file is not displayed. But this bmp file is displayed on windows and linux gimp and etc. So I checked this bmp file, this file have 208 data per line despite 207 pixel per line!! I fixed code to skip the data when data is more than width instead of break. I think this is not bug but evas policy problem. SVN revision: 57076
This commit is contained in:
parent
d704222f1c
commit
2c428c4c15
|
@ -93,3 +93,9 @@
|
|||
transition.
|
||||
* A lot of textblock speed improvements and reduced memory footprint.
|
||||
|
||||
2011-02-16 Jeonghyun Yun
|
||||
|
||||
* Patch from Jeonghyun Yun <jh0506.yun@samsung.com> that
|
||||
improves BMP loader support to handle malformed RLE BMP's that
|
||||
encode more pixels per line than the image actuall has.
|
||||
|
||||
|
|
|
@ -680,11 +680,12 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key
|
|||
while (p < buffer_end)
|
||||
{
|
||||
if (p[0])
|
||||
{
|
||||
if ((x + p[0]) <= wpad)
|
||||
{
|
||||
unsigned int col1 = pal[p[1] >> 4];
|
||||
unsigned int col2 = pal[p[1] & 0xf];
|
||||
|
||||
if ((x + p[0]) > wpad) break;
|
||||
count = p[0] / 2;
|
||||
while (count > 0)
|
||||
{
|
||||
|
@ -707,6 +708,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key
|
|||
x++;
|
||||
pix++;
|
||||
}
|
||||
}
|
||||
p += 2;
|
||||
}
|
||||
else
|
||||
|
@ -808,11 +810,12 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key
|
|||
while (p < buffer_end)
|
||||
{
|
||||
if (p[0])
|
||||
{
|
||||
if ((x + p[0]) <= w)
|
||||
{
|
||||
unsigned int col = pal[p[1]];
|
||||
|
||||
count = p[0];
|
||||
if ((x + p[0]) > w) break;
|
||||
while (count > 0)
|
||||
{
|
||||
*pix = col;
|
||||
|
@ -820,6 +823,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key
|
|||
count--;
|
||||
}
|
||||
x += p[0];
|
||||
}
|
||||
p += 2;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue