53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
#include "vxBoot/gui.h"
|
|
#include "vxBoot/loader.h"
|
|
#include "vxBoot/config.h"
|
|
|
|
#include <gint/display.h>
|
|
|
|
/* fxcg50_display() : Hardcoded display for the fxcg50 */
|
|
void gui_fxcg50_display(struct gui_meta *disp)
|
|
{
|
|
char const * name;
|
|
int posy;
|
|
int tmp;
|
|
int sy;
|
|
int i;
|
|
|
|
dprint_opt(
|
|
DWIDTH / 2, 5,
|
|
C_WHITE, C_BLACK,
|
|
DTEXT_CENTER, DTEXT_TOP,
|
|
"VxBoot version %s",
|
|
VXBOOT_VERSION
|
|
);
|
|
drect_border(17, 18, 378, 189, C_NONE, 1, C_WHITE);
|
|
if (disp->scroll.offset > 0) {
|
|
sy = disp->scroll.y + (disp->list.anchor * disp->scroll.offset);
|
|
dline(375, sy, 375, sy + disp->scroll.width, C_WHITE);
|
|
}
|
|
i = disp->list.anchor - 1;
|
|
while (++i < disp->list.count && i - disp->list.anchor < 11) {
|
|
posy = 22 + ((i - disp->list.anchor) * 15);
|
|
name = loader_kernel_img_get(i)->inode->name;
|
|
dtext(22, posy + 2, C_WHITE, name);
|
|
if (i != disp->list.select)
|
|
continue;
|
|
tmp = (disp->scroll.offset > 0) ? 373 : 375;
|
|
drect(20, posy, tmp, posy + 13, C_INVERT);
|
|
}
|
|
|
|
dprint_opt(
|
|
DWIDTH / 2, 200,
|
|
C_WHITE, C_BLACK,
|
|
DTEXT_CENTER, DTEXT_MIDDLE,
|
|
"Use arrows keys to select entry"
|
|
);
|
|
dprint_opt(
|
|
DWIDTH / 2, 212,
|
|
C_WHITE, C_BLACK,
|
|
DTEXT_CENTER, DTEXT_MIDDLE,
|
|
"Press [EXE] to boot the selected OS"
|
|
);
|
|
|
|
}
|