summaryrefslogtreecommitdiffstats
path: root/libmenu
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-22 16:22:33 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-22 16:22:33 +0000
commitced4a23f8d7b33678a89d520f1bb4eb460084acf (patch)
tree0e602fa8d11bda9da2e207a1a50ae9ed21aa6e1c /libmenu
parent168e6e1daf047799dd109e268cb0161159b622ef (diff)
downloadmpv-ced4a23f8d7b33678a89d520f1bb4eb460084acf.tar.bz2
mpv-ced4a23f8d7b33678a89d520f1bb4eb460084acf.tar.xz
Fix menu background drawing.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18194 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmenu')
-rw-r--r--libmenu/menu.c12
-rw-r--r--libmenu/menu.h2
-rw-r--r--libmenu/menu_list.h6
3 files changed, 12 insertions, 8 deletions
diff --git a/libmenu/menu.c b/libmenu/menu.c
index 6113fb6dce..bd807c502b 100644
--- a/libmenu/menu.c
+++ b/libmenu/menu.c
@@ -563,11 +563,12 @@ char* menu_text_get_next_line(char* txt, int max_width) {
}
-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 @@ void menu_draw_box(mp_image_t* mpi, char grey, char alpha, int x, int y, int w,
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),
diff --git a/libmenu/menu.h b/libmenu/menu.h
index 4eb97a45d4..ec69b3fdaf 100644
--- a/libmenu/menu.h
+++ b/libmenu/menu.h
@@ -73,4 +73,4 @@ void menu_draw_text_full(mp_image_t* mpi,char* txt,
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);
diff --git a/libmenu/menu_list.h b/libmenu/menu_list.h
index 7c218e773a..ee4a536a85 100644
--- a/libmenu/menu_list.h
+++ b/libmenu/menu_list.h
@@ -56,9 +56,9 @@ extern const menu_list_priv_t menu_list_priv_dflt;
0,0, \
5, 3, \
NULL, \
- 0x80, 0x80, \
- 0x40, 0x80, \
- 0x70, 0x80 \
+ 0xE0, 0x20, \
+ 0x80, 0x50, \
+ 0xC0, 0x50 \
}