Untested fix and tile implementation for webp.

svn path=/trunk/netsurf/; revision=12328
This commit is contained in:
Michael Drake 2011-05-09 08:15:38 +00:00
parent 8bb723a746
commit 41d2df4f5c
1 changed files with 12 additions and 4 deletions

View File

@ -49,7 +49,8 @@ static bool webp_convert(struct content *c);
static void webp_destroy(struct content *c); static void webp_destroy(struct content *c);
static bool webp_redraw(struct content *c, int x, int y, static bool webp_redraw(struct content *c, int x, int y,
int width, int height, const struct rect *clip, int width, int height, const struct rect *clip,
float scale, colour background_colour); float scale, colour background_colour,
bool repeat_x, bool repeat_y);
static nserror webp_clone(const struct content *old, struct content **newc); static nserror webp_clone(const struct content *old, struct content **newc);
static content_type webp_content_type(lwc_string *mime_type); static content_type webp_content_type(lwc_string *mime_type);
@ -65,7 +66,6 @@ static const content_handler webp_content_handler = {
webp_redraw, webp_redraw,
NULL, NULL,
NULL, NULL,
NULL,
webp_clone, webp_clone,
NULL, NULL,
webp_content_type, webp_content_type,
@ -223,10 +223,18 @@ void webp_destroy(struct content *c)
bool webp_redraw(struct content *c, int x, int y, bool webp_redraw(struct content *c, int x, int y,
int width, int height, const struct rect *clip, int width, int height, const struct rect *clip,
float scale, colour background_colour) float scale, colour background_colour,
bool repeat_x, bool repeat_y)
{ {
bitmap_flags_t flags = BITMAPF_NONE;
if (repeat_x)
flags |= BITMAPF_REPEAT_X;
if (repeat_y)
flags |= BITMAPF_REPEAT_Y;
return plot.bitmap(x, y, width, height, return plot.bitmap(x, y, width, height,
c->bitmap, background_colour, BITMAPF_NONE); c->bitmap, background_colour, flags);
} }