change one comment in pnd_pxml.h to be more right
authorskeezix <skeezix@flotsam-vm.(none)>
Mon, 22 Mar 2010 14:35:49 +0000 (10:35 -0400)
committerskeezix <skeezix@flotsam-vm.(none)>
Mon, 22 Mar 2010 14:35:49 +0000 (10:35 -0400)
mmenu:
- when using small icons without upscaling, center vertically now (always did horiz centering)
- when less categories than fill the screen, ensure draw the 'tab line' to complete the top border
- show 'subapp number' in the detail panel

include/pnd_pxml.h
minimenu/mmui.c

index 7ed5a24..1cc2df3 100644 (file)
@@ -114,7 +114,7 @@ typedef struct
 
 typedef struct
 {
-        unsigned char subapp_number; // 0 for 'only app'; 1+ for <application> # .. first <application> is 1.
+        unsigned char subapp_number; // 0+ for <application> # .. first <application> is 0
        pnd_localized_string_t *titles;
        int titles_c;
        int titles_alloc_c;
index e2acf7c..d0d3f78 100644 (file)
@@ -281,6 +281,7 @@ void ui_render ( unsigned int render_mask ) {
   unsigned int icon_offset_x = pnd_conf_get_as_int ( g_conf, "grid.icon_offset_x" );
   unsigned int icon_offset_y = pnd_conf_get_as_int ( g_conf, "grid.icon_offset_y" );
   unsigned int icon_max_width = pnd_conf_get_as_int ( g_conf, "grid.icon_max_width" );
+  unsigned int icon_max_height = pnd_conf_get_as_int ( g_conf, "grid.icon_max_height" );
 
   unsigned int text_width = pnd_conf_get_as_int ( g_conf, "grid.text_width" );
   unsigned int text_clip_x = pnd_conf_get_as_int ( g_conf, "grid.text_clip_x" );
@@ -361,6 +362,7 @@ void ui_render ( unsigned int render_mask ) {
     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;
 
+    // draw tabs with categories
     for ( col = ui_catshift;
          col < maxtab;
          col++ )
@@ -425,6 +427,25 @@ void ui_render ( unsigned int render_mask ) {
 
     } // for
 
+    // draw tab lines under where tabs would be if we had categories
+    maxtab = ( screen_width / tab_width );
+    for ( /* foo */; col < maxtab; col++ ) {
+      SDL_Surface *s;
+
+      if ( col - ui_catshift == 0 ) {
+       s = g_imagecache [ IMG_TAB_LINEL ].i;
+      } else if ( col - ui_catshift == maxtab - 1 ) {
+       s = g_imagecache [ IMG_TAB_LINER ].i;
+      } else {
+       s = g_imagecache [ IMG_TAB_LINE ].i;
+      }
+      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++;
+
+    } // for
+
   } // tabs
 
   // scroll bars and arrows
@@ -535,7 +556,7 @@ void ui_render ( unsigned int render_mask ) {
            src.w = 60;
            src.h = 60;
            dest -> x = grid_offset_x + ( col * cell_width ) + icon_offset_x + (( icon_max_width - iconsurface -> w ) / 2);
-           dest -> y = grid_offset_y + ( displayrow * cell_height ) + icon_offset_y;
+           dest -> y = grid_offset_y + ( displayrow * cell_height ) + icon_offset_y + (( icon_max_height - iconsurface -> h ) / 2);
 
            SDL_BlitSurface ( iconsurface, &src, sdl_realscreen, dest );
 
@@ -659,6 +680,21 @@ void ui_render ( unsigned int render_mask ) {
       desty += src.h;
     }
 
+    // show sub-app# on right side of cpu clock?
+    //if ( ui_selected -> ref -> subapp_number )
+    {
+      sprintf ( buffer, "(app#%u)", ui_selected -> ref -> subapp_number );
+
+      SDL_Surface *rtext;
+      SDL_Color tmpfontcolor = { font_rgba_r, font_rgba_g, font_rgba_b, font_rgba_a };
+      rtext = TTF_RenderText_Blended ( g_grid_font, buffer, tmpfontcolor );
+      dest -> x = cell_offset_x + cell_width - rtext -> w;
+      dest -> y = desty - src.h;
+      SDL_BlitSurface ( rtext, NULL /* full src */, sdl_realscreen, dest );
+      SDL_FreeSurface ( rtext );
+      dest++;
+    }
+
     // info hint
     if ( ui_selected -> ref -> clockspeed && ui_selected -> ref -> info_filename ) {