mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-22 02:29:17 +01:00
Improved GUI aspect (new font, background image)
This commit is contained in:
parent
377042194a
commit
6242db8c7d
BIN
FreeMono.ttf
BIN
FreeMono.ttf
Binary file not shown.
@ -200,10 +200,12 @@ dist:uae.dol
|
|||||||
cp $< $@/apps/uae/boot.dol
|
cp $< $@/apps/uae/boot.dol
|
||||||
cp meta.xml $@/apps/uae/
|
cp meta.xml $@/apps/uae/
|
||||||
cp icon.png $@/apps/uae/
|
cp icon.png $@/apps/uae/
|
||||||
cp FreeMono.ttf $@/apps/uae/
|
cp font.ttf $@/apps/uae/
|
||||||
cp README.Cloanto-Amiga_Forever $@/apps/uae/docs/
|
cp README.Cloanto-Amiga_Forever $@/apps/uae/docs/
|
||||||
cp images/kb_amiga.png $@/apps/uae/images/
|
cp images/kb_amiga.png $@/apps/uae/images/
|
||||||
cp images/kb_amiga_small.png $@/apps/uae/images/
|
cp images/kb_amiga_small.png $@/apps/uae/images/
|
||||||
|
cp images/window_bg.png $@/apps/uae/images/
|
||||||
|
cp images/window_bg_small.png $@/apps/uae/images/
|
||||||
cp uaerc.wii $@/uae/uaerc
|
cp uaerc.wii $@/uae/uaerc
|
||||||
cp uaerc.smb $@/uae/
|
cp uaerc.smb $@/uae/
|
||||||
cp docs/configuration.txt $@/apps/uae/docs/
|
cp docs/configuration.txt $@/apps/uae/docs/
|
||||||
|
BIN
images/window_bg.png
Normal file
BIN
images/window_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 286 KiB |
BIN
images/window_bg_small.png
Normal file
BIN
images/window_bg_small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
@ -96,11 +96,13 @@ static SDL_Surface *real_screen;
|
|||||||
static int is_inited = 0;
|
static int is_inited = 0;
|
||||||
static TTF_Font *menu_font16, *menu_font20,*menu_font8, *menu_font10 ;
|
static TTF_Font *menu_font16, *menu_font20,*menu_font8, *menu_font10 ;
|
||||||
#if defined(GEKKO)
|
#if defined(GEKKO)
|
||||||
#define FONT_PATH "/apps/uae/FreeMono.ttf"
|
#define FONT_PATH "/apps/uae/font.ttf"
|
||||||
#else
|
#else
|
||||||
#define FONT_PATH "FreeMono.ttf"
|
#define FONT_PATH "FreeMono.ttf"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static SDL_Surface *image_window, *tmp_surface ;
|
||||||
|
|
||||||
int fh, fw;
|
int fh, fw;
|
||||||
|
|
||||||
void flip_screen (void)
|
void flip_screen (void)
|
||||||
@ -142,7 +144,7 @@ int msgInfo(char *text, int duration, SDL_Rect *irc)
|
|||||||
irc->w=src.w;
|
irc->w=src.w;
|
||||||
irc->h=src.h;
|
irc->h=src.h;
|
||||||
}
|
}
|
||||||
SDL_FillRect(real_screen, &src, SDL_MapRGB(real_screen->format, 96, 136, 184));
|
SDL_FillRect(real_screen, &src, SDL_MapRGB(real_screen->format, 116, 117, 206));
|
||||||
SDL_FillRect(real_screen, &rc, SDL_MapRGB(real_screen->format, 128, 128, 128));
|
SDL_FillRect(real_screen, &rc, SDL_MapRGB(real_screen->format, 128, 128, 128));
|
||||||
menu_print_font(real_screen, 255,255,255, X+12/RATIO, Y+12/RATIO, text,20);
|
menu_print_font(real_screen, 255,255,255, X+12/RATIO, Y+12/RATIO, text,20);
|
||||||
SDL_UpdateRect(real_screen, src.x, src.y, src.w, src.h);
|
SDL_UpdateRect(real_screen, src.x, src.y, src.w, src.h);
|
||||||
@ -176,9 +178,6 @@ int msgYesNo(char *text, int default_opt, int x, int y)
|
|||||||
SDL_Rect rc;
|
SDL_Rect rc;
|
||||||
SDL_Rect brc;
|
SDL_Rect brc;
|
||||||
uint32_t key;
|
uint32_t key;
|
||||||
//int old;
|
|
||||||
|
|
||||||
//old = default_opt;
|
|
||||||
|
|
||||||
if (x < 0)
|
if (x < 0)
|
||||||
X = (FULL_DISPLAY_X /2) - (len / 2 + 1)*12/RATIO;
|
X = (FULL_DISPLAY_X /2) - (len / 2 + 1)*12/RATIO;
|
||||||
@ -202,24 +201,24 @@ int msgYesNo(char *text, int default_opt, int x, int y)
|
|||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
SDL_FillRect(real_screen, &src, SDL_MapRGB(real_screen->format, 96, 136, 184));
|
SDL_FillRect(real_screen, &src, SDL_MapRGB(real_screen->format, 116, 117, 206));
|
||||||
SDL_FillRect(real_screen, &rc, SDL_MapRGB(real_screen->format, 128, 128, 128));
|
SDL_FillRect(real_screen, &rc, SDL_MapRGB(real_screen->format, 128, 128, 128));
|
||||||
menu_print_font(real_screen, 255,255,255, X+12/RATIO, Y+12/RATIO, text,20);
|
menu_print_font(real_screen, 255,255,255, X+12/RATIO, Y+12/RATIO, text,20);
|
||||||
|
|
||||||
if (default_opt)
|
if (default_opt)
|
||||||
{
|
{
|
||||||
brc.x=rc.x + rc.w/2-5*12/RATIO;
|
brc.x=rc.x + rc.w/2-5*12/RATIO-2/RATIO;
|
||||||
brc.y=rc.y+42/RATIO;
|
brc.y=rc.y+42/RATIO;
|
||||||
brc.w=12*3/RATIO;
|
brc.w=12*3/RATIO+4/RATIO;
|
||||||
brc.h=20/RATIO;
|
brc.h=22/RATIO;
|
||||||
SDL_FillRect(real_screen, &brc, SDL_MapRGB(real_screen->format, 0x00, 0x80, 0x00));
|
SDL_FillRect(real_screen, &brc, SDL_MapRGB(real_screen->format, 0x00, 0x80, 0x00));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
brc.x=rc.x + rc.w/2+5*12/RATIO-2*12/RATIO-6/RATIO;
|
brc.x=rc.x + rc.w/2+5*12/RATIO-2*12/RATIO-8/RATIO;
|
||||||
brc.y=rc.y+42/RATIO;
|
brc.y=rc.y+42/RATIO;
|
||||||
brc.w=12*3/RATIO;
|
brc.w=12*3/RATIO+4/RATIO;
|
||||||
brc.h=20/RATIO;
|
brc.h=22/RATIO;
|
||||||
SDL_FillRect(real_screen, &brc, SDL_MapRGB(real_screen->format, 0x80, 0x00, 0x00));
|
SDL_FillRect(real_screen, &brc, SDL_MapRGB(real_screen->format, 0x80, 0x00, 0x00));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +371,7 @@ const char **get_file_list_devices()
|
|||||||
|
|
||||||
device_list_menu[0]=malloc(80);
|
device_list_menu[0]=malloc(80);
|
||||||
|
|
||||||
sprintf(device_list_menu[0], "#1NR %-6s %-6s %s %s %s %s %s %s %s",
|
sprintf(device_list_menu[0], "#2NR %-6s %-6s %s %s %s %s %s %s %s",
|
||||||
"Device", "Volume","Acc","Sec", "Sur","Res","Blks","Prio", "Path");
|
"Device", "Volume","Acc","Sec", "Sur","Res","Blks","Prio", "Path");
|
||||||
|
|
||||||
for (i = 0; i < nr; i++) {
|
for (i = 0; i < nr; i++) {
|
||||||
@ -506,14 +505,23 @@ void menu_print_font(SDL_Surface *screen, int r, int g, int b,
|
|||||||
static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_size)
|
static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_size)
|
||||||
{
|
{
|
||||||
int font_height = TTF_FontHeight(p_menu->p_font);
|
int font_height = TTF_FontHeight(p_menu->p_font);
|
||||||
int line_height = (font_height + font_height / 4);
|
int line_height = font_height + font_height/16 +(font_height==24);
|
||||||
int x_start = p_menu->x1+6/RATIO;
|
int x_start = p_menu->x1+6/RATIO;
|
||||||
int y_start = p_menu->y1 + line_height;
|
int y_start = p_menu->y1 + line_height;
|
||||||
SDL_Rect r;
|
SDL_Rect r;
|
||||||
int entries_visible = (p_menu->y2 - p_menu->y1 -5) / line_height - 1;
|
int entries_visible = (p_menu->y2 - p_menu->y1 -5) / line_height - 1;
|
||||||
|
|
||||||
int i, y;
|
int i, y;
|
||||||
|
|
||||||
|
SDL_Rect r_ext = {p_menu->x1, p_menu->y1,
|
||||||
|
p_menu->x2 - p_menu->x1, p_menu->y2 - p_menu->y1+2/RATIO};
|
||||||
|
SDL_Rect r_int = {p_menu->x1+4/RATIO, p_menu->y1,
|
||||||
|
p_menu->x2 - p_menu->x1-8/RATIO, p_menu->y2 - p_menu->y1-2/RATIO};
|
||||||
|
|
||||||
|
|
||||||
|
SDL_FillRect(screen, &r_ext, SDL_MapRGB(screen->format, 116, 117, 206));
|
||||||
|
SDL_BlitSurface(image_window, &r_int, real_screen, &r_int);
|
||||||
|
|
||||||
if ( p_menu->n_entries * line_height > p_menu->y2 )
|
if ( p_menu->n_entries * line_height > p_menu->y2 )
|
||||||
y_start = p_menu->y1 + line_height;
|
y_start = p_menu->y1 + line_height;
|
||||||
|
|
||||||
@ -541,7 +549,7 @@ static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_siz
|
|||||||
if (sel < 0)
|
if (sel < 0)
|
||||||
SDL_FillRect(screen, &r, SDL_MapRGB(screen->format, 0x40, 0x00, 0x00));
|
SDL_FillRect(screen, &r, SDL_MapRGB(screen->format, 0x40, 0x00, 0x00));
|
||||||
else
|
else
|
||||||
SDL_FillRect(screen, &r, SDL_MapRGB(screen->format, 96, 136, 184)); //Title
|
SDL_FillRect(screen, &r, SDL_MapRGB(screen->format, 116, 117, 206)); //Title
|
||||||
menu_print_font(screen, 255,255,255, p_menu->x1+4/RATIO, p_menu->y1, p_menu->title, font_size);
|
menu_print_font(screen, 255,255,255, p_menu->x1+4/RATIO, p_menu->y1, p_menu->title, font_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,15 +569,15 @@ static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_siz
|
|||||||
menu_print_font(screen, 0x40,0x40,0x40,
|
menu_print_font(screen, 0x40,0x40,0x40,
|
||||||
x_start, y_start + y, msg, font_size);
|
x_start, y_start + y, msg, font_size);
|
||||||
else if (p_menu->cur_sel == i) /* Selected - color */
|
else if (p_menu->cur_sel == i) /* Selected - color */
|
||||||
menu_print_font(screen, 0,200,0,
|
menu_print_font(screen, 0,128,0,
|
||||||
x_start, y_start + y, msg, font_size);
|
x_start, y_start + y, msg, font_size);
|
||||||
else if (IS_SUBMENU(msg))
|
else if (IS_SUBMENU(msg))
|
||||||
{
|
{
|
||||||
if (p_menu->cur_sel == i-1)
|
if (p_menu->cur_sel == i-1) /* Selected - color */
|
||||||
menu_print_font(screen, 0,200,0,
|
menu_print_font(screen, 0,128,0,
|
||||||
x_start, y_start + y, msg, font_size);
|
x_start, y_start + y, msg, font_size);
|
||||||
else
|
else
|
||||||
menu_print_font(screen, 0x40,0x40,0x40,
|
menu_print_font(screen, 20,20,20,
|
||||||
x_start, y_start + y, msg, font_size);
|
x_start, y_start + y, msg, font_size);
|
||||||
}
|
}
|
||||||
else if (msg[0] == '#')
|
else if (msg[0] == '#')
|
||||||
@ -577,11 +585,11 @@ static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_siz
|
|||||||
switch (msg[1])
|
switch (msg[1])
|
||||||
{
|
{
|
||||||
case '1':
|
case '1':
|
||||||
menu_print_font(screen, 96,136,184,
|
menu_print_font(screen, 116,117,206,
|
||||||
x_start, y_start + y, msg+2, font_size);
|
x_start, y_start + y, msg+2, font_size);
|
||||||
break;
|
break;
|
||||||
case '2':
|
case '2':
|
||||||
menu_print_font(screen, 0x40,0x40,0x40,
|
menu_print_font(screen, 25,0,231,
|
||||||
x_start, y_start + y, msg+2, font_size);
|
x_start, y_start + y, msg+2, font_size);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -590,8 +598,8 @@ static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_siz
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else /* Otherwise white */
|
else //Not selected
|
||||||
menu_print_font(screen, 0x40,0x40,0x40,
|
menu_print_font(screen, 20,20,20,
|
||||||
x_start, y_start + y, msg, font_size);
|
x_start, y_start + y, msg, font_size);
|
||||||
if (IS_SUBMENU(msg))
|
if (IS_SUBMENU(msg))
|
||||||
{
|
{
|
||||||
@ -622,13 +630,13 @@ static void menu_draw(SDL_Surface *screen, menu_t *p_menu, int sel, int font_siz
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (SDL_Rect){ x_start + (n+1) * w-1, y_start + (i+ 1 - p_menu->start_entry_visible) * ((h + h/4)) -3, (n_chars - 1) * w, 2};
|
r = (SDL_Rect){ x_start + (n+1) * w, y_start + (i+ 1 - p_menu->start_entry_visible) * line_height -3/RATIO, (n_chars - 1) * w, 2};
|
||||||
if (p_menu->cur_sel == i-1)
|
if (p_menu->cur_sel == i-1)
|
||||||
SDL_FillRect(screen, &r,
|
SDL_FillRect(screen, &r,
|
||||||
SDL_MapRGB(screen->format, 255,0,0));
|
SDL_MapRGB(screen->format, 255,0,0));
|
||||||
else
|
else
|
||||||
SDL_FillRect(screen, &r,
|
SDL_FillRect(screen, &r,
|
||||||
SDL_MapRGB(screen->format, 0x40,0x40,0x40));
|
SDL_MapRGB(screen->format, 20,20,20));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -905,17 +913,11 @@ static int menu_select_internal(SDL_Surface *screen,
|
|||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
SDL_Rect r = {p_menu->x1, p_menu->y1,
|
|
||||||
p_menu->x2 - p_menu->x1, p_menu->y2 - p_menu->y1+2/RATIO};
|
|
||||||
SDL_Rect r_int = {p_menu->x1+4/RATIO, p_menu->y1,
|
|
||||||
p_menu->x2 - p_menu->x1-8/RATIO, p_menu->y2 - p_menu->y1-2/RATIO};
|
|
||||||
uint32_t keys;
|
uint32_t keys;
|
||||||
|
|
||||||
int sel_last = p_menu->cur_sel;
|
int sel_last = p_menu->cur_sel;
|
||||||
|
|
||||||
SDL_FillRect(screen, &r, SDL_MapRGB(screen->format, 96, 136, 184));
|
|
||||||
SDL_FillRect(screen, &r_int, SDL_MapRGB(screen->format, 255, 255, 255));
|
|
||||||
|
|
||||||
menu_draw(screen, p_menu, 0, font_size);
|
menu_draw(screen, p_menu, 0, font_size);
|
||||||
SDL_Flip(screen);
|
SDL_Flip(screen);
|
||||||
|
|
||||||
@ -926,9 +928,9 @@ static int menu_select_internal(SDL_Surface *screen,
|
|||||||
else if (keys & KEY_DOWN)
|
else if (keys & KEY_DOWN)
|
||||||
select_next(p_menu, 0, 1, 1);
|
select_next(p_menu, 0, 1, 1);
|
||||||
else if (keys & KEY_PAGEUP)
|
else if (keys & KEY_PAGEUP)
|
||||||
select_next(p_menu, 0, -19, 0);
|
select_next(p_menu, 0, -20, 0);
|
||||||
else if (keys & KEY_PAGEDOWN)
|
else if (keys & KEY_PAGEDOWN)
|
||||||
select_next(p_menu, 0, 19, 0);
|
select_next(p_menu, 0, 20, 0);
|
||||||
else if (keys & KEY_LEFT)
|
else if (keys & KEY_LEFT)
|
||||||
select_next(p_menu, -1, 0 ,1);
|
select_next(p_menu, -1, 0 ,1);
|
||||||
else if (keys & KEY_RIGHT)
|
else if (keys & KEY_RIGHT)
|
||||||
@ -1152,9 +1154,21 @@ void menu_init(SDL_Surface *screen)
|
|||||||
FULL_DISPLAY_X = currprefs.gfx_width_win;
|
FULL_DISPLAY_X = currprefs.gfx_width_win;
|
||||||
FULL_DISPLAY_Y = currprefs.gfx_height_win;
|
FULL_DISPLAY_Y = currprefs.gfx_height_win;
|
||||||
RATIO = 640/FULL_DISPLAY_X;
|
RATIO = 640/FULL_DISPLAY_X;
|
||||||
|
char window_image[255];
|
||||||
|
|
||||||
if (is_inited) return;
|
if (is_inited) return;
|
||||||
|
|
||||||
|
strcpy (window_image, "");
|
||||||
|
|
||||||
|
if (RATIO == 1) strcat (window_image, WINDOWIMAGE); else strcat (window_image, WINDOWIMAGE_SMALL);
|
||||||
|
|
||||||
|
tmp_surface=IMG_Load(window_image);
|
||||||
|
|
||||||
|
if (tmp_surface == NULL) {write_log("Impossible to load window background image\n"); return;}
|
||||||
|
image_window=SDL_DisplayFormat(tmp_surface);
|
||||||
|
SDL_FreeSurface (tmp_surface);
|
||||||
|
|
||||||
|
|
||||||
TTF_Init();
|
TTF_Init();
|
||||||
|
|
||||||
menu_font16 = read_font(FONT_PATH, 16);
|
menu_font16 = read_font(FONT_PATH, 16);
|
||||||
@ -1173,6 +1187,7 @@ void menu_deinit(void)
|
|||||||
if (!is_inited) return;
|
if (!is_inited) return;
|
||||||
|
|
||||||
is_inited = 0;
|
is_inited = 0;
|
||||||
|
SDL_FreeSurface (image_window);
|
||||||
VirtualKeyboard_fini();
|
VirtualKeyboard_fini();
|
||||||
|
|
||||||
TTF_CloseFont(menu_font16);
|
TTF_CloseFont(menu_font16);
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
#include <SDL_ttf.h>
|
#include <SDL_ttf.h>
|
||||||
|
#include<SDL/SDL_image.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
#define SAVEDFILENAME "/uae/uaerc.saved"
|
#define SAVEDFILENAME "/uae/uaerc.saved"
|
||||||
#define KBDIMAGE "/apps/uae/images/kb_amiga.png"
|
#define KBDIMAGE "/apps/uae/images/kb_amiga.png"
|
||||||
#define KBDIMAGE_SMALL "/apps/uae/images/kb_amiga_small.png"
|
#define KBDIMAGE_SMALL "/apps/uae/images/kb_amiga_small.png"
|
||||||
|
#define WINDOWIMAGE "/apps/uae/images/window_bg.png"
|
||||||
|
#define WINDOWIMAGE_SMALL "/apps/uae/images/window_bg_small.png"
|
||||||
|
|
||||||
#define DEFPRTNAME "lpr"
|
#define DEFPRTNAME "lpr"
|
||||||
#define DEFSERNAME "/dev/ttyS1"
|
#define DEFSERNAME "/dev/ttyS1"
|
||||||
|
Loading…
Reference in New Issue
Block a user