vxBoot/src/gui/fxcg50.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"
);
}