From 4b5eccba1cbca411d9007b1d56af5d06a972657c Mon Sep 17 00:00:00 2001 From: skeezix Date: Fri, 19 Mar 2010 21:46:44 -0400 Subject: [PATCH] Refining the skin a little --- deployment/etc/pandora/conf/mmenu.conf | 8 +++- minimenu/TODO.txt | 1 - minimenu/mmenu.c | 7 ++- minimenu/mmenu.conf | 8 +++- minimenu/mmui.c | 64 ++++++++++++++++++++----- minimenu/mmui.h | 3 ++ minimenu/skin/default/tab1mask.png | Bin 3918 -> 3926 bytes minimenu/skin/default/tab_sel.png.bak | Bin 330 -> 0 bytes minimenu/skin/default/tab_sel_tall.png | Bin 349 -> 360 bytes minimenu/skin/default/tabline.png | Bin 0 -> 178 bytes minimenu/skin/default/tablinel.png | Bin 0 -> 201 bytes minimenu/skin/default/tabliner.png | Bin 0 -> 180 bytes 12 files changed, 73 insertions(+), 18 deletions(-) delete mode 100644 minimenu/skin/default/tab_sel.png.bak create mode 100644 minimenu/skin/default/tabline.png create mode 100644 minimenu/skin/default/tablinel.png create mode 100644 minimenu/skin/default/tabliner.png diff --git a/deployment/etc/pandora/conf/mmenu.conf b/deployment/etc/pandora/conf/mmenu.conf index a96014b..3530783 100644 --- a/deployment/etc/pandora/conf/mmenu.conf +++ b/deployment/etc/pandora/conf/mmenu.conf @@ -47,10 +47,11 @@ font_ptsize 16 tab_offset_x 4 # from left screen to first tab left tab_offset_y 3 # from top of screen to first tab top tab_width 132 # width of tab -tab_height 35 # height of tab +tab_height 35 # height of tab (for vertical clip) +tab_selheight 39 # height of tab when its selected (for vertical clip) text_offset_x 10 # from left edge of tab to left edge of text text_offset_y 10 # from top edge of tab to top edge of text -text_width 120 # clip text to this width +text_width 110 # clip text to this width [grid] font Vera.ttf @@ -112,6 +113,9 @@ IMG_SELECTED_ALPHAMASK select.png IMG_SELECTED_HILITE hilite.png IMG_TAB_SEL tab_sel_tall.png IMG_TAB_UNSEL tab_unsel.png +IMG_TAB_LINE tabline.png # line under the unselected tab, but not left/right corners +IMG_TAB_LINEL tablinel.png # line under unselected tab on far left +IMG_TAB_LINER tabliner.png # line under unselected tab on far right IMG_ICON_MISSING pandora60.png IMG_PREVIEW_MISSING pandora60.png IMG_ARROW_UP arrowup.png diff --git a/minimenu/TODO.txt b/minimenu/TODO.txt index 7566890..a2c3f3c 100644 --- a/minimenu/TODO.txt +++ b/minimenu/TODO.txt @@ -5,7 +5,6 @@ - libpnd: appdata-dir-name? -- mmwrapper black screen? - About screen - override - .desktop in same place as .pnd, override category diff --git a/minimenu/mmenu.c b/minimenu/mmenu.c index 279b57c..4230a29 100644 --- a/minimenu/mmenu.c +++ b/minimenu/mmenu.c @@ -355,11 +355,15 @@ void applications_scan ( void ) { pnd_log ( pndn_debug, "Found pnd applications, and caching icons:\n" ); pnd_disco_t *iter = pnd_box_get_head ( g_active_apps ); + unsigned int itercount = 0; while ( iter ) { //pnd_log ( pndn_debug, " App: '%s'\n", IFNULL(iter->title_en,"No Name") ); // update cachescreen - ui_cachescreen ( 1 /* clear screen */, IFNULL(iter->title_en,"No Name") ); + // ... every 5 filenames, just to avoid slowing it too much + if ( itercount % 5 == 0 ) { + ui_cachescreen ( 0 /* clear screen */, IFNULL(iter->title_en,"No Name") ); + } // cache the icon if ( iter -> pnd_icon_pos && @@ -433,6 +437,7 @@ void applications_scan ( void ) { // next iter = pnd_box_get_next ( iter ); + itercount++; } // while // dump categories diff --git a/minimenu/mmenu.conf b/minimenu/mmenu.conf index ee32d17..af4570c 100644 --- a/minimenu/mmenu.conf +++ b/minimenu/mmenu.conf @@ -47,10 +47,11 @@ font_ptsize 16 tab_offset_x 4 # from left screen to first tab left tab_offset_y 3 # from top of screen to first tab top tab_width 132 # width of tab -tab_height 35 # height of tab +tab_height 35 # height of tab (for vertical clip) +tab_selheight 39 # height of tab when its selected (for vertical clip) text_offset_x 10 # from left edge of tab to left edge of text text_offset_y 10 # from top edge of tab to top edge of text -text_width 120 # clip text to this width +text_width 110 # clip text to this width [grid] font Vera.ttf @@ -112,6 +113,9 @@ IMG_SELECTED_ALPHAMASK select.png IMG_SELECTED_HILITE hilite.png IMG_TAB_SEL tab_sel_tall.png IMG_TAB_UNSEL tab_unsel.png +IMG_TAB_LINE tabline.png # line under the unselected tab, but not left/right corners +IMG_TAB_LINEL tablinel.png # line under unselected tab on far left +IMG_TAB_LINER tabliner.png # line under unselected tab on far right IMG_ICON_MISSING pandora60.png IMG_PREVIEW_MISSING pandora60.png IMG_ARROW_UP arrowup.png diff --git a/minimenu/mmui.c b/minimenu/mmui.c index e764e00..68ae3c8 100644 --- a/minimenu/mmui.c +++ b/minimenu/mmui.c @@ -181,6 +181,9 @@ mm_imgcache_t g_imagecache [ IMG_TRUEMAX ] = { { IMG_SELECTED_ALPHAMASK, "graphics.IMG_SELECTED_ALPHAMASK" }, { IMG_TAB_SEL, "graphics.IMG_TAB_SEL" }, { IMG_TAB_UNSEL, "graphics.IMG_TAB_UNSEL" }, + { IMG_TAB_LINE, "graphics.IMG_TAB_LINE" }, + { IMG_TAB_LINEL, "graphics.IMG_TAB_LINEL" }, + { IMG_TAB_LINER, "graphics.IMG_TAB_LINER" }, { IMG_ICON_MISSING, "graphics.IMG_ICON_MISSING" }, { IMG_SELECTED_HILITE, "graphics.IMG_SELECTED_HILITE" }, { IMG_PREVIEW_MISSING, "graphics.IMG_PREVIEW_MISSING" }, @@ -347,16 +350,16 @@ void ui_render ( unsigned int render_mask ) { if ( g_imagecache [ IMG_TAB_SEL ].i && g_imagecache [ IMG_TAB_UNSEL ].i ) { unsigned int tab_width = pnd_conf_get_as_int ( g_conf, "tabs.tab_width" ); unsigned int tab_height = pnd_conf_get_as_int ( g_conf, "tabs.tab_height" ); + unsigned int tab_selheight = pnd_conf_get_as_int ( g_conf, "tabs.tab_selheight" ); unsigned int tab_offset_x = pnd_conf_get_as_int ( g_conf, "tabs.tab_offset_x" ); unsigned int tab_offset_y = pnd_conf_get_as_int ( g_conf, "tabs.tab_offset_y" ); unsigned int text_offset_x = pnd_conf_get_as_int ( g_conf, "tabs.text_offset_x" ); unsigned int text_offset_y = pnd_conf_get_as_int ( g_conf, "tabs.text_offset_y" ); unsigned int text_width = pnd_conf_get_as_int ( g_conf, "tabs.text_width" ); + unsigned int maxtab = ( screen_width / tab_width ) < g_categorycount ? ( screen_width / tab_width ) + ui_catshift : g_categorycount + ui_catshift; for ( col = ui_catshift; - col < ( - ( screen_width / tab_width ) < g_categorycount ? ( screen_width / tab_width ) + ui_catshift : g_categorycount + ui_catshift - ); + col < maxtab; col++ ) { @@ -371,7 +374,11 @@ void ui_render ( unsigned int render_mask ) { src.x = 0; src.y = 0; src.w = tab_width; - src.h = tab_height; + if ( col == ui_category ) { + src.h = tab_selheight; + } else { + src.h = tab_height; + } dest -> x = tab_offset_x + ( (col-ui_catshift) * tab_width ); dest -> y = tab_offset_y; //pnd_log ( pndn_debug, "tab %u at %ux%u\n", col, dest.x, dest.y ); @@ -382,6 +389,27 @@ void ui_render ( unsigned int render_mask ) { dest++; + // draw tab line + if ( col == ui_category ) { + // no line for selected tab + printf ( "skipselevting L\n" ); + } else { + if ( col - ui_catshift == 0 ) { + s = g_imagecache [ IMG_TAB_LINEL ].i; + printf ( "selevting L\n" ); + } else if ( col - ui_catshift == maxtab - 1 ) { + s = g_imagecache [ IMG_TAB_LINER ].i; + printf ( "selevting R\n" ); + } else { + s = g_imagecache [ IMG_TAB_LINE ].i; + printf ( "selevting M\n" ); + } + dest -> x = tab_offset_x + ( (col-ui_catshift) * tab_width ); + dest -> y = tab_offset_y + tab_height; + SDL_BlitSurface ( s, NULL /* whole image */, sdl_realscreen, dest ); + dest++; + } + // draw text SDL_Surface *rtext; SDL_Color tmpfontcolor = { font_rgba_r, font_rgba_g, font_rgba_b, font_rgba_a }; @@ -1400,6 +1428,7 @@ void ui_cachescreen ( unsigned char clearscreen, char *filename ) { SDL_Rect rects [ 4 ]; SDL_Rect *dest = rects; + SDL_Rect src; bzero ( dest, sizeof(SDL_Rect)* 4 ); unsigned int font_rgba_r = pnd_conf_get_as_int_d ( g_conf, "display.font_rgba_r", 200 ); @@ -1423,19 +1452,30 @@ void ui_cachescreen ( unsigned char clearscreen, char *filename ) { dest++; } - } + } else { + + // render background + if ( g_imagecache [ IMG_BACKGROUND_800480 ].i ) { + src.x = 0; + src.y = 0; + src.w = sdl_realscreen -> w; + src.h = 100; + dest -> x = 0; + dest -> y = 0; + dest -> w = sdl_realscreen -> w; + dest -> h = sdl_realscreen -> h; + SDL_BlitSurface ( g_imagecache [ IMG_BACKGROUND_800480 ].i, &src, sdl_realscreen, dest ); + dest++; + } + + } // clear it // render text SDL_Surface *rtext; SDL_Color tmpfontcolor = { font_rgba_r, font_rgba_g, font_rgba_b, font_rgba_a }; rtext = TTF_RenderText_Blended ( g_big_font, "Caching applications artwork...", tmpfontcolor ); - if ( clearscreen ) { - dest -> x = 20; - dest -> y = 20; - } else { - dest -> x = 20; - dest -> y = 40; - } + dest -> x = 20; + dest -> y = 20; SDL_BlitSurface ( rtext, NULL /* full src */, sdl_realscreen, dest ); SDL_FreeSurface ( rtext ); dest++; diff --git a/minimenu/mmui.h b/minimenu/mmui.h index a575f48..f06458d 100644 --- a/minimenu/mmui.h +++ b/minimenu/mmui.h @@ -18,6 +18,9 @@ typedef enum { IMG_SELECTED_ALPHAMASK, IMG_TAB_SEL, IMG_TAB_UNSEL, + IMG_TAB_LINE, + IMG_TAB_LINEL, + IMG_TAB_LINER, IMG_ICON_MISSING, IMG_SELECTED_HILITE, IMG_PREVIEW_MISSING, diff --git a/minimenu/skin/default/tab1mask.png b/minimenu/skin/default/tab1mask.png index 8cdd9009fd9246074f1b4d87add5c9d715ec7016..2aace8544608a5133e3dce33d475e98f63656fc1 100644 GIT binary patch literal 3926 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^&A1{8^9=llw!7>k44ofy`glX(f`uqAoB zyDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{9%pwe?DwQ)hr!g?_UGsEt z45_&F_U^{4=yHi;5BImIH!o;DxQ{V-y&RV$&rKrfjk45(QEjAa3J-N(_z%JTqw+F5l zAuF2=vt%o82gHhBAK-csvZV+om?=OVco?o1Np?^<@U?rqLrfafxu@pMofp4$`RbG& zL%W(E*)ef(ed=k<3=9d|ze*(k`Sx4>{x-&${~lakzW;dE)}jVr>e07zP|IV)* zGyVDJ|C=Mmz;Iw+S+2vg+4Y&9FLQu+bw7VDU+aG2;Jv~dVPIHr)<1`^7!9n~}%5ThxgV>D}wmJvy#h2<0iwT6WOs15Z0SN>*D?Gn{50IEuU zG}iw7^!|;z6{Ic^0#`CUpgQbARm+VAU`4kPlDISyK^5TWk2iO>&pcj|FJoJ~<80Q}Pv3xzLGhV=eP^p5 z-(-7ocX#|=O$LSsyKDaaIlovrWm75hrWn1whQL;_{^_Shuj>z5ACuU8^wE>V`x}2& z0$a}a_SHUq3(VyAbAEl=_;#O#-EN7^mp`xmdbu6a%Fd3x_&ImK47BgDR=et*Dzuvt z{P!xXhY__u?R;z!v{@bk@5m&>yDIRG3S92%J-B2ayr%;1r@-Z|Rd0t`Vs#DHQGs_; z;2NXe--SuOj)2<%??%DoviFw5B?q_T{>s0(ajo{xnRp>!xys<_>gTe~DWM4fbk4~D literal 3918 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^&A1{8^9=llw!7>k44ofy`glX(f`uqAoB zyDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{9%pAh}rbc>9Ksmm1o-U3d z6}R5rHOz`(7ioRC+;OVI1gC`D11@X39k`mU#hV<$Cd9IcH;KI5GjE3Got@sx!@L6~ zo?8&M@>tK)i5rjGJy$#Yz4ZTP?$5hUU*6c~=YRg4|2h3>yKm1qW>8E(iX-C@wI4CdB(zH{Jc`+3mj{qk4Li z&ieTOJ8i1JyMi$tbV(H%il~E28M)q`@cU9pHqHPaa~{G&bGMqduW)%#-g?%UG#bwE2q`UF5q7L>KzXaJ^XK{Evg28XkYL1GQZ1UKFK3esQL zBC(JeDA}LquuYzcfuV*U$g24XR4?V;!OOwG5MT|ljstAgF*cy{C2S!=w*-@zfm&R^ z#+!nSKkxz~bOmCy!Xc3I6&o3WA?4PO#WlSk8w{!-4&17I1f;xU14wxm*pC+>LMvny z!H#bMJ17}sX^$L4=q(4>bS1EIDUcfzzCeVsAnq4P1S!7)cH`nvFO9|$I3ebcjd4bJYDfQ>#@@aCjs~`V(csO?5dPvK3bxvR3+v>-Yc~6|4zP}Pr{QmBJf8T`OxzZE9R=w>7w%Dp8*I&2(&wVd7a@t~G=H~z1_x8Lpu(hlo_vg)9 zpnQDJ=cmcnYYU6&Hp#GMCoe#-LQVe>-RUc zr_X@)W3FQ9i@c diff --git a/minimenu/skin/default/tab_sel.png.bak b/minimenu/skin/default/tab_sel.png.bak deleted file mode 100644 index 3a444a6e906f7059a2745c6d75282fb057c8e082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^EkLZv!3HG19BZ5oq!^2X+?^QKos)S9l@xnn|bSINXfpG(SqzMlH_RIFasTK64O z3uSh{-nF~!LX`2s*-_J$dQbXyM}XP$()B2Q!-A?k`EP#bX_*`NUVh)?F)2~PuIEj? z_EMYrU6NIc9R)a;92GcN8WjXsnjA1V4XDCDr1_Nt8=|TF0qvo6Dyv4fGX*r>mdKI;Vst0RC}wJ^%m! diff --git a/minimenu/skin/default/tab_sel_tall.png b/minimenu/skin/default/tab_sel_tall.png index d8583f3da3240ebe2d514079e23a9236d388012b..1d81f47c332b741fa064c037d5d68eb3cfaffd50 100644 GIT binary patch delta 246 zcmV+x^12uF+b1{5t@KbofH>Mekh@153^joSwgX;0)m_5&OO$g5ai2!c=Bw%xAZ0n#Zf^8f$< delta 236 zcmVk44ofy`glX(f`uqAoByDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{9%p#0@B1wjOOo2j1o-U3d9>i+zwZwoZwTF~(H&(F_`7aDLqXvj3-a66dMB*D64bx-c?ZM|)WG#Z#0WQy58+IW~& Q0Ch8Xy85}Sb4q9e0OcDs2LJ#7 literal 0 HcmV?d00001 diff --git a/minimenu/skin/default/tablinel.png b/minimenu/skin/default/tablinel.png new file mode 100644 index 0000000000000000000000000000000000000000..63092735181e97772accae285288dfd49ca1e30e GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^EkMl5!3JWjaJdDf7>k44ofy`glX(f`uqAoByDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{9%p!~m`ZsK2Y=J_ao-U3d9>?Ea z+9>GYz~Fi?m1D^kg|OyT>sz_?uXi;Zk+A&{eQ5Uet5LRTG7(4edDm_g6yA15z}9cg pjmgSvF((D?E5k44ofy`glX(f`uqAoByDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{9%p#0(*3C+jZGl22o-U3d9>i+zwZwoXKVpKMBoc8(o`F^&u8V$_LE-FZ{F6K-UdBCD`dt0tFZ)+d}JA=v@_D{Fh SEy@AvXYh3Ob6Mw<&;$UvJ~HM2 literal 0 HcmV?d00001 -- 2.39.5