Mercurial > mplayer.hg
comparison libmenu/menu_console.c @ 17993:98eb966a4024
Add a function to draw flat boxes and use it to make the list
menu and console look much cooler. Idea take from Otvos Atilla's
patches (oattila_At_chello--.--hu).
author | albeu |
---|---|
date | Thu, 30 Mar 2006 02:52:54 +0000 |
parents | 931bdbc37ee0 |
children | 6927fabaef92 |
comparison
equal
deleted
inserted
replaced
17992:2545bbd91450 | 17993:98eb966a4024 |
---|---|
53 char* child_prompt; | 53 char* child_prompt; |
54 int buf_lines; // Buffer size (in line) | 54 int buf_lines; // Buffer size (in line) |
55 int height; // Display size in % | 55 int height; // Display size in % |
56 int minb; | 56 int minb; |
57 int vspace; | 57 int vspace; |
58 int bg,bg_alpha; | |
58 unsigned int hide_time; | 59 unsigned int hide_time; |
59 unsigned int show_time; | 60 unsigned int show_time; |
60 int history_max; | 61 int history_max; |
61 int raw_child; | 62 int raw_child; |
62 }; | 63 }; |
79 "$ ", | 80 "$ ", |
80 50, // lines | 81 50, // lines |
81 33, // % | 82 33, // % |
82 3, | 83 3, |
83 3, | 84 3, |
85 0x80,0x40, | |
84 500, | 86 500, |
85 500, | 87 500, |
86 10, | 88 10, |
87 0 | 89 0 |
88 }; | 90 }; |
94 { "child-prompt", ST_OFF(child_prompt), CONF_TYPE_STRING, M_OPT_MIN, 1, 0, NULL }, | 96 { "child-prompt", ST_OFF(child_prompt), CONF_TYPE_STRING, M_OPT_MIN, 1, 0, NULL }, |
95 { "buffer-lines", ST_OFF(buf_lines), CONF_TYPE_INT, M_OPT_MIN, 5, 0, NULL }, | 97 { "buffer-lines", ST_OFF(buf_lines), CONF_TYPE_INT, M_OPT_MIN, 5, 0, NULL }, |
96 { "height", ST_OFF(height), CONF_TYPE_INT, M_OPT_RANGE, 1, 100, NULL }, | 98 { "height", ST_OFF(height), CONF_TYPE_INT, M_OPT_RANGE, 1, 100, NULL }, |
97 { "minbor", ST_OFF(minb), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, | 99 { "minbor", ST_OFF(minb), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, |
98 { "vspace", ST_OFF(vspace), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, | 100 { "vspace", ST_OFF(vspace), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, |
101 { "bg", ST_OFF(bg), CONF_TYPE_INT, M_OPT_RANGE, -1, 255, NULL }, | |
102 { "bg-alpha", ST_OFF(bg_alpha), CONF_TYPE_INT, M_OPT_RANGE, 0, 255, NULL }, | |
99 { "show-time",ST_OFF(show_time), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, | 103 { "show-time",ST_OFF(show_time), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, |
100 { "hide-time",ST_OFF(hide_time), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, | 104 { "hide-time",ST_OFF(hide_time), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, |
101 { "history-size",ST_OFF(history_max), CONF_TYPE_INT, M_OPT_MIN, 1, 0, NULL }, | 105 { "history-size",ST_OFF(history_max), CONF_TYPE_INT, M_OPT_MIN, 1, 0, NULL }, |
102 { "raw-child", ST_OFF(raw_child), CONF_TYPE_FLAG, 0, 0, 1, NULL }, | 106 { "raw-child", ST_OFF(raw_child), CONF_TYPE_FLAG, 0, 0, 1, NULL }, |
103 { NULL, NULL, NULL, 0,0,0,NULL } | 107 { NULL, NULL, NULL, 0,0,0,NULL } |
188 y = h - mpriv->vspace; | 192 y = h - mpriv->vspace; |
189 | 193 |
190 if(x < 0 || y < 0 || w <= 0 || h <= 0 ) | 194 if(x < 0 || y < 0 || w <= 0 || h <= 0 ) |
191 return; | 195 return; |
192 | 196 |
197 if(mpriv->bg >= 0) | |
198 menu_draw_box(mpi,mpriv->bg,mpriv->bg_alpha,0,0,mpi->w,h); | |
199 | |
193 if(!mpriv->child || !mpriv->raw_child){ | 200 if(!mpriv->child || !mpriv->raw_child){ |
194 char input[strlen(mpriv->cur_history->buffer) + strlen(mpriv->prompt) + 1]; | 201 char input[strlen(mpriv->cur_history->buffer) + strlen(mpriv->prompt) + 1]; |
195 sprintf(input,"%s%s",mpriv->prompt,mpriv->cur_history->buffer); | 202 sprintf(input,"%s%s",mpriv->prompt,mpriv->cur_history->buffer); |
196 menu_text_size(input,w,mpriv->vspace,1,&lw,&lh); | 203 menu_text_size(input,w,mpriv->vspace,1,&lw,&lh); |
197 menu_draw_text_full(mpi,input,x,y,w,h,mpriv->vspace,1, | 204 menu_draw_text_full(mpi,input,x,y,w,h,mpriv->vspace,1, |