momento/src/mainmenu/draw.c

35 lines
1021 B
C

/* SPDX-License-Identifier: GPL-3.0-or-later */
/* Copyright (C) 2021 KikooDX */
#include "conf.h"
#include "mainmenu.h"
#include "zxcolors.h"
#include <gint/display.h>
extern const font_t font_main;
extern const font_t font_big;
void
mainmenu_draw(struct MainMenu mainmenu)
{
int i = MENU_ENTRIES;
dfont(&font_big);
dprint_opt(DWIDTH / 2, DHEIGHT * 1 / 3, ZX_WHITE, C_NONE, DTEXT_CENTER,
DTEXT_MIDDLE, GAME_NAME);
dfont(&font_main);
dprint_opt(DWIDTH / 2, DHEIGHT - 2, ZX_WHITE, C_NONE, DTEXT_CENTER,
DTEXT_BOTTOM, "Game by KikooDX (2021) - " VERSION);
while (i-- > 0) {
const int selected = mainmenu.cursor == i;
const color_t foreground_color = selected ? ZX_WHITE : ZX_GRAY;
const color_t background_color =
selected ? ZX_DARK_BLUE : ZX_BLACK;
dprint_opt(DWIDTH / 2, DHEIGHT / 5 * 3 + 16 + i * 16,
foreground_color, background_color, DTEXT_CENTER,
DTEXT_MIDDLE, menu_entries[i], selected ? '[' : ' ',
selected ? ']' : ' ');
}
}