diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2009-03-19 19:24:29 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2009-03-19 19:24:29 +0000 |
commit | 7b1f478b5a3d31777744ad436e16d59c9ca0a34c (patch) | |
tree | 96360a5b2bb781c7fd3c08d4bc7475add30aa315 /framebuffer/fb_frontend_sdl.c | |
parent | e2a6087fe3cf85754d3d7509acde48014c957f7f (diff) | |
download | netsurf-7b1f478b5a3d31777744ad436e16d59c9ca0a34c.tar.gz netsurf-7b1f478b5a3d31777744ad436e16d59c9ca0a34c.tar.bz2 |
fixup 8bpp plotters
svn path=/trunk/netsurf/; revision=6807
Diffstat (limited to 'framebuffer/fb_frontend_sdl.c')
-rw-r--r-- | framebuffer/fb_frontend_sdl.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/framebuffer/fb_frontend_sdl.c b/framebuffer/fb_frontend_sdl.c index 139fbd33f..7c83653ba 100644 --- a/framebuffer/fb_frontend_sdl.c +++ b/framebuffer/fb_frontend_sdl.c @@ -43,6 +43,23 @@ static SDL_Surface *sdl_screen; +static void +set_palette(framebuffer_t *fb) +{ + SDL_Color colors[256]; + int loop; + for(loop=0; loop < 256; loop++){ + colors[loop].r = loop; + colors[loop].g = loop; + colors[loop].b = loop; + fb->palette[loop] = loop << 16 | loop << 8 | loop; + } + + /* Set palette */ + SDL_SetColors(sdl_screen, colors, 0, 256); + +} + framebuffer_t *fb_os_init(int argc, char** argv) { framebuffer_t *newfb; @@ -50,6 +67,7 @@ framebuffer_t *fb_os_init(int argc, char** argv) int fb_height; int fb_depth; + if ((option_window_width != 0) && (option_window_height != 0)) { fb_width = option_window_width; fb_height = option_window_height; @@ -88,6 +106,9 @@ framebuffer_t *fb_os_init(int argc, char** argv) return NULL; } + if (newfb->bpp == 8) + set_palette(newfb); + newfb->ptr = sdl_screen->pixels; newfb->linelen = sdl_screen->pitch; |