Mercurial > mplayer.hg
changeset 18193:e8cbaf092e96
Fix menu background drawing.
author | albeu |
---|---|
date | Sat, 22 Apr 2006 16:22:33 +0000 |
parents | 0b77e66a7d32 |
children | fe877135c408 |
files | libmenu/menu.c libmenu/menu.h libmenu/menu_list.h |
diffstat | 3 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/libmenu/menu.c Sat Apr 22 15:41:16 2006 +0000 +++ b/libmenu/menu.c Sat Apr 22 16:22:33 2006 +0000 @@ -563,11 +563,12 @@ } -void menu_draw_box(mp_image_t* mpi, char grey, char alpha, int x, int y, int w, int h) { +void menu_draw_box(mp_image_t* mpi,unsigned char grey,unsigned char alpha, int x, int y, int w, int h) { draw_alpha_f draw_alpha = get_draw_alpha(mpi->imgfmt); + int g; if(!draw_alpha) { - printf("Unsupported outformat !!!!\n"); + mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_UnsupportedOutformat); return; } @@ -577,11 +578,14 @@ if(x+w > mpi->w) w = mpi->w-x; if(y < 0) h += y, y = 0; if(y+h > mpi->h) h = mpi->h-y; - + + g = ((256-alpha)*grey)>>8; + if(g < 1) g = 1; + { int stride = (w+7)&(~7); // round to 8 char pic[stride*h],pic_alpha[stride*h]; - memset(pic,grey,stride*h); + memset(pic,g,stride*h); memset(pic_alpha,alpha,stride*h); draw_alpha(w,h,pic,pic_alpha,stride, mpi->planes[0] + y * mpi->stride[0] + x * (mpi->bpp>>3),
--- a/libmenu/menu.h Sat Apr 22 15:41:16 2006 +0000 +++ b/libmenu/menu.h Sat Apr 22 16:22:33 2006 +0000 @@ -73,4 +73,4 @@ int x, int y,int w, int h, int vspace, int warp, int align, int anchor); -void menu_draw_box(mp_image_t* mpi, char grey, char alpha, int x, int y, int w, int h); +void menu_draw_box(mp_image_t* mpi, unsigned char grey, unsigned char alpha, int x, int y, int w, int h);