/[grub]/grub2/normal/menu.c
ViewVC logotype

Diff of /grub2/normal/menu.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by okuji, Sat Sep 18 13:42:05 2004 UTC revision 1.9 by marco_g, Sat Jan 22 13:29:18 2005 UTC
# Line 38  Line 38 
38  #define DISP_LR         0x251B  #define DISP_LR         0x251B
39    
40  /* FIXME: These should be dynamically obtained from a terminal.  */  /* FIXME: These should be dynamically obtained from a terminal.  */
41  #define TERM_WIDTH      (80 - 1)  #define TERM_WIDTH      80
42  #define TERM_HEIGHT     25  #define TERM_HEIGHT     25
43    
44  /* The number of lines of "GRUB version..." at the top.  */  /* The number of lines of "GRUB version..." at the top.  */
# Line 51  Line 51 
51  #define TERM_SCROLL_WIDTH       1  #define TERM_SCROLL_WIDTH       1
52    
53  /* The Y position of the top border.  */  /* The Y position of the top border.  */
54  #define TERM_TOP_BORDER_Y       (TERM_MARGIN + TERM_HEIGHT + TERM_MARGIN)  #define TERM_TOP_BORDER_Y       (TERM_MARGIN + TERM_INFO_HEIGHT + TERM_MARGIN)
55    
56  /* The X position of the left border.  */  /* The X position of the left border.  */
57  #define TERM_LEFT_BORDER_X      TERM_MARGIN  #define TERM_LEFT_BORDER_X      TERM_MARGIN
# Line 98  draw_border (void) Line 98  draw_border (void)
98      grub_putcode (DISP_HLINE);      grub_putcode (DISP_HLINE);
99    grub_putcode (DISP_UR);    grub_putcode (DISP_UR);
100    
101    i = 1;    for (i = 0; i < (unsigned) TERM_NUM_ENTRIES; i++)
   while (1)  
102      {      {
103        grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + i);        grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + i + 1);
   
       if (i > (unsigned) TERM_NUM_ENTRIES)  
         break;  
   
104        grub_putcode (DISP_VLINE);        grub_putcode (DISP_VLINE);
105        grub_gotoxy (TERM_MARGIN + TERM_BORDER_WIDTH - 1, TERM_TOP_BORDER_Y + i);        grub_gotoxy (TERM_MARGIN + TERM_BORDER_WIDTH - 1, TERM_TOP_BORDER_Y + i + 1);
106        grub_putcode (DISP_VLINE);        grub_putcode (DISP_VLINE);
   
       i++;  
107      }      }
108    
109      grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES + 1);
110    grub_putcode (DISP_LL);    grub_putcode (DISP_LL);
111    for (i = 0; i < TERM_BORDER_WIDTH - 2; i++)    for (i = 0; i < TERM_BORDER_WIDTH - 2; i++)
112      grub_putcode (DISP_HLINE);      grub_putcode (DISP_HLINE);
113    grub_putcode (DISP_LR);    grub_putcode (DISP_LR);
114    
115    grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);    grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
116    
117      grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES + TERM_MARGIN + 1);
118  }  }
119    
120  static void  static void
# Line 172  print_entry (int y, int highlight, grub_ Line 168  print_entry (int y, int highlight, grub_
168    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_MARGIN, y);    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_MARGIN, y);
169    grub_putchar (' ');    grub_putchar (' ');
170    for (x = TERM_LEFT_BORDER_X + TERM_MARGIN + 1;    for (x = TERM_LEFT_BORDER_X + TERM_MARGIN + 1;
171         x < TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH - 1;         x < TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH - TERM_MARGIN;
172         x++)         x++)
173      {      {
174        if (*title && x <= TERM_LEFT_BORDER_X + TERM_ENTRY_WIDTH + 1)        if (*title && x <= TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH - TERM_MARGIN - 1)
175          {          {
176            if (x == TERM_LEFT_BORDER_X + TERM_ENTRY_WIDTH + 1)            if (x == TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH - TERM_MARGIN - 1)
177              grub_putcode (DISP_RIGHT);              grub_putcode (DISP_RIGHT);
178            else            else
179              grub_putchar (*title++);              grub_putchar (*title++);
# Line 196  print_entries (grub_menu_t menu, int fir Line 192  print_entries (grub_menu_t menu, int fir
192    grub_menu_entry_t e;    grub_menu_entry_t e;
193    int i;    int i;
194        
195    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH + TERM_MARGIN,    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH,
196                 TERM_FIRST_ENTRY_Y);                 TERM_FIRST_ENTRY_Y);
197    
198    if (first)    if (first)
# Line 213  print_entries (grub_menu_t menu, int fir Line 209  print_entries (grub_menu_t menu, int fir
209          e = e->next;          e = e->next;
210      }      }
211    
212    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH + TERM_MARGIN,    grub_gotoxy (TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH,
213                 TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES);                 TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES);
214    
215    if (e)    if (e)

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26