Combine render_msg and render_msg_place with params argument

This commit is contained in:
twinaphex 2013-03-11 20:05:05 +01:00
parent d9c3a99d0b
commit 63883a1131
10 changed files with 377 additions and 134 deletions

View File

@ -643,18 +643,23 @@ static void display_menubar(void *data)
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
filebrowser_t *fb = browser; filebrowser_t *fb = browser;
char current_path[256], rarch_version[128], msg[128]; char msg[128];
font_params_t font_parms = {0};
rmenu_default_positions_t default_pos; rmenu_default_positions_t default_pos;
menu_set_default_pos(&default_pos); menu_set_default_pos(&default_pos);
snprintf(rarch_version, sizeof(rarch_version), "v%s", PACKAGE_VERSION); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.current_path_y_position;
font_parms.scale = default_pos.current_path_font_size;
font_parms.color = WHITE;
switch(current_menu->enum_id) switch(current_menu->enum_id)
{ {
case GENERAL_VIDEO_MENU: case GENERAL_VIDEO_MENU:
snprintf(msg, sizeof(msg), "NEXT -> [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R)); snprintf(msg, sizeof(msg), "NEXT -> [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg); device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
break; break;
case GENERAL_AUDIO_MENU: case GENERAL_AUDIO_MENU:
case EMU_GENERAL_MENU: case EMU_GENERAL_MENU:
@ -662,12 +667,12 @@ static void display_menubar(void *data)
case EMU_AUDIO_MENU: case EMU_AUDIO_MENU:
case PATH_MENU: case PATH_MENU:
snprintf(msg, sizeof(msg), "[%s] <- PREV | NEXT -> [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R)); snprintf(msg, sizeof(msg), "[%s] <- PREV | NEXT -> [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg); device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
break; break;
case CONTROLS_MENU: case CONTROLS_MENU:
case INGAME_MENU_RESIZE: case INGAME_MENU_RESIZE:
snprintf(msg, sizeof(msg), "[%s] <- PREV", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L)); snprintf(msg, sizeof(msg), "[%s] <- PREV", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg); device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
break; break;
default: default:
break; break;
@ -689,8 +694,8 @@ static void display_menubar(void *data)
case PATH_SYSTEM_DIR_CHOICE: case PATH_SYSTEM_DIR_CHOICE:
fb = tmpBrowser; fb = tmpBrowser;
case FILE_BROWSER_MENU: case FILE_BROWSER_MENU:
snprintf(current_path, sizeof(current_path), "PATH: %s", filebrowser_get_current_dir(fb)); snprintf(msg, sizeof(msg), "PATH: %s", filebrowser_get_current_dir(fb));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, current_path); device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
break; break;
default: default:
break; break;
@ -698,11 +703,27 @@ static void display_menubar(void *data)
rarch_position_t position = {0}; rarch_position_t position = {0};
device_ptr->ctx_driver->rmenu_draw_bg(&position); device_ptr->ctx_driver->rmenu_draw_bg(&position);
font_parms.x = default_pos.core_msg_x_position;
font_parms.y = default_pos.core_msg_y_position;
font_parms.scale = default_pos.core_msg_font_size;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.core_msg_x_position, default_pos.core_msg_y_position, default_pos.core_msg_font_size, WHITE, g_extern.title_buf); device_ptr->font_ctx->render_msg(device_ptr, g_extern.title_buf, &font_parms);
#ifdef __CELLOS_LV2__ #ifdef __CELLOS_LV2__
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, 0.05f, 1.4f, WHITE, current_menu->title);
device_ptr->font_ctx->render_msg_place(device_ptr,0.80f, 0.015f, 0.82f, WHITE, rarch_version); font_parms.x = default_pos.x_position;
font_parms.y = 0.05f;
font_parms.scale = 1.4f;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, current_menu->title, &font_parms);
font_parms.x = 0.80f;
font_parms.y = 0.015f;
font_parms.scale = 0.82f;
font_parms.color = WHITE;
snprintf(msg, sizeof(msg), "v%s", PACKAGE_VERSION);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
#endif #endif
} }
@ -746,14 +767,17 @@ void browser_render(void *data)
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
unsigned file_count = b->current_dir.list->size; unsigned file_count = b->current_dir.list->size;
unsigned int current_index, page_number, page_base, i; unsigned int current_index, page_number, page_base, i;
font_params_t font_parms = {0};
rmenu_default_positions_t default_pos = {0};
rmenu_default_positions_t default_pos;
menu_set_default_pos(&default_pos); menu_set_default_pos(&default_pos);
current_index = b->current_dir.ptr; current_index = b->current_dir.ptr;
page_number = current_index / default_pos.entries_per_page; page_number = current_index / default_pos.entries_per_page;
page_base = page_number * default_pos.entries_per_page; page_base = page_number * default_pos.entries_per_page;
font_parms.scale = default_pos.variable_font_size;
for (i = page_base; i < file_count && i < page_base + default_pos.entries_per_page; ++i) for (i = page_base; i < file_count && i < page_base + default_pos.entries_per_page; ++i)
{ {
char fname_tmp[256]; char fname_tmp[256];
@ -770,7 +794,11 @@ void browser_render(void *data)
device_ptr->ctx_driver->rmenu_draw_panel(&position); device_ptr->ctx_driver->rmenu_draw_panel(&position);
} }
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, i == current_index ? RED : b->current_dir.list->elems[i].attr.b ? GREEN : WHITE, fname_tmp); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.starting_y_position;
font_parms.color = i == current_index ? RED : b->current_dir.list->elems[i].attr.b ? GREEN : WHITE;
device_ptr->font_ctx->render_msg(device_ptr, fname_tmp, &font_parms);
} }
} }
@ -778,6 +806,7 @@ int select_file(void *data, void *state)
{ {
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
rmenu_state_t *rstate = (rmenu_state_t*)state; rmenu_state_t *rstate = (rmenu_state_t*)state;
font_params_t font_parms = {0};
uint64_t input = rstate->input; uint64_t input = rstate->input;
@ -914,9 +943,16 @@ int select_file(void *data, void *state)
display_menubar(current_menu); display_menubar(current_menu);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, comment); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, comment, &font_parms);
snprintf(comment, sizeof(comment), "[%s] - return to settings [%s] - Reset Startdir", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START)); snprintf(comment, sizeof(comment), "[%s] - return to settings [%s] - Reset Startdir", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, comment); font_parms.y = default_pos.comment_two_y_position;
font_parms.color = YELLOW;
device_ptr->font_ctx->render_msg(device_ptr, comment, &font_parms);
if(current_menu->browser_draw) if(current_menu->browser_draw)
current_menu->browser_draw(filebrowser); current_menu->browser_draw(filebrowser);
@ -928,6 +964,7 @@ int select_directory(void *data, void *state)
{ {
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
rmenu_state_t *rstate = (rmenu_state_t*)state; rmenu_state_t *rstate = (rmenu_state_t*)state;
font_params_t font_parms = {0};
uint64_t input = rstate->input; uint64_t input = rstate->input;
@ -1010,13 +1047,24 @@ int select_directory(void *data, void *state)
display_menubar(current_menu); display_menubar(current_menu);
snprintf(msg, sizeof(msg), "[%s] - Enter dir | [%s] - Go back", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_B), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X)); snprintf(msg, sizeof(msg), "[%s] - Enter dir | [%s] - Go back", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_B), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_two_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = YELLOW;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
snprintf(msg, sizeof(msg), "[%s] - Reset to startdir", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START)); snprintf(msg, sizeof(msg), "[%s] - Reset to startdir", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
font_parms.y = default_pos.comment_two_y_position + (default_pos.y_position_increment * 1);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
snprintf(msg, sizeof(msg), "INFO - Browse to a directory and assign it as the path by\npressing [%s].", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_Y)); snprintf(msg, sizeof(msg), "INFO - Browse to a directory and assign it as the path by\npressing [%s].", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_Y));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
font_parms.y = default_pos.comment_y_position;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
if(current_menu->browser_draw) if(current_menu->browser_draw)
current_menu->browser_draw(filebrowser); current_menu->browser_draw(filebrowser);
@ -1973,6 +2021,7 @@ static int select_setting(void *data, void *state)
{ {
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
rmenu_state_t *rstate = (rmenu_state_t*)state; rmenu_state_t *rstate = (rmenu_state_t*)state;
font_params_t font_parms = {0};
uint64_t input = rstate->input; uint64_t input = rstate->input;
int ret = 0; int ret = 0;
@ -2055,8 +2104,16 @@ static int select_setting(void *data, void *state)
if(items[i].page == current_menu->page) if(items[i].page == current_menu->page)
{ {
default_pos.starting_y_position += default_pos.y_position_increment; default_pos.starting_y_position += default_pos.y_position_increment;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, current_menu->selected == items[i].enum_id ? YELLOW : WHITE, items[i].text);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position_center, default_pos.starting_y_position, default_pos.variable_font_size, WHITE, items[i].setting_text); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.starting_y_position;
font_parms.scale = default_pos.variable_font_size;
font_parms.color = current_menu->selected == items[i].enum_id ? YELLOW : WHITE;
device_ptr->font_ctx->render_msg(device_ptr, items[i].text, &font_parms);
font_parms.x = default_pos.x_position_center;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, items[i].setting_text, &font_parms);
if(current_menu->selected == items[i].enum_id) if(current_menu->selected == items[i].enum_id)
{ {
@ -2065,7 +2122,12 @@ static int select_setting(void *data, void *state)
position.y = default_pos.starting_y_position; position.y = default_pos.starting_y_position;
device_ptr->ctx_driver->rmenu_draw_panel(&position); device_ptr->ctx_driver->rmenu_draw_panel(&position);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, items[i].comment);
font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, items[i].comment, &font_parms);
} }
} }
} }
@ -2073,9 +2135,16 @@ static int select_setting(void *data, void *state)
free(items); free(items);
snprintf(msg, sizeof(msg), "[%s] + [%s] - Resume game", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R3)); snprintf(msg, sizeof(msg), "[%s] + [%s] - Resume game", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R3));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_two_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = YELLOW;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
snprintf(msg, sizeof(msg), "[%s] - Reset to default", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START)); snprintf(msg, sizeof(msg), "[%s] - Reset to default", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_START));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg); font_parms.y = default_pos.comment_two_y_position + (default_pos.y_position_increment * 1);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
if(current_menu->browser_draw) if(current_menu->browser_draw)
current_menu->browser_draw(filebrowser); current_menu->browser_draw(filebrowser);
@ -2088,6 +2157,7 @@ int select_rom(void *data, void *state)
{ {
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
rmenu_state_t *rstate = (rmenu_state_t*)state; rmenu_state_t *rstate = (rmenu_state_t*)state;
font_params_t font_parms = {0};
uint64_t input = rstate->input; uint64_t input = rstate->input;
@ -2146,15 +2216,25 @@ int select_rom(void *data, void *state)
else else
snprintf(msg, sizeof(msg), "INFO - Press [%s] to load the game.", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_B)); snprintf(msg, sizeof(msg), "INFO - Press [%s] to load the game.", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_B));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
display_menubar(current_menu); display_menubar(current_menu);
snprintf(msg, sizeof(msg), "[%s] + [%s] - resume game", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R3)); snprintf(msg, sizeof(msg), "[%s] + [%s] - resume game", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R3));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
font_parms.y = default_pos.comment_two_y_position;
font_parms.color = YELLOW;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
snprintf(msg, sizeof(msg), "[%s] - Settings", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_SELECT)); snprintf(msg, sizeof(msg), "[%s] - Settings", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_SELECT));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
font_parms.y = default_pos.comment_two_y_position + (default_pos.y_position_increment * 1);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
if(current_menu->browser_draw) if(current_menu->browser_draw)
current_menu->browser_draw(filebrowser); current_menu->browser_draw(filebrowser);
@ -2166,6 +2246,7 @@ int ingame_menu_resize(void *data, void *state)
{ {
menu *current_menu = (menu*)data; menu *current_menu = (menu*)data;
rmenu_state_t *rstate = (rmenu_state_t*)state; rmenu_state_t *rstate = (rmenu_state_t*)state;
font_params_t font_parms = {0};
uint64_t input = rstate->input; uint64_t input = rstate->input;
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
@ -2272,60 +2353,127 @@ int ingame_menu_resize(void *data, void *state)
snprintf(viewport_w, sizeof(viewport_w), "Viewport W: #%d", g_extern.console.screen.viewports.custom_vp.width); snprintf(viewport_w, sizeof(viewport_w), "Viewport W: #%d", g_extern.console.screen.viewports.custom_vp.width);
snprintf(viewport_h, sizeof(viewport_h), "Viewport H: #%d", g_extern.console.screen.viewports.custom_vp.height); snprintf(viewport_h, sizeof(viewport_h), "Viewport H: #%d", g_extern.console.screen.viewports.custom_vp.height);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position, default_pos.font_size, GREEN, viewport_x); font_parms.x = default_pos.x_position;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*1), default_pos.font_size, GREEN, viewport_y); font_parms.y = default_pos.y_position;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*2), default_pos.font_size, GREEN, viewport_w); font_parms.scale = default_pos.font_size;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*3), default_pos.font_size, GREEN, viewport_h); font_parms.color = GREEN;
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*4), default_pos.font_size, WHITE, "CONTROLS:"); device_ptr->font_ctx->render_msg(device_ptr, viewport_x, &font_parms);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 1);
device_ptr->font_ctx->render_msg(device_ptr, viewport_y, &font_parms);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 2);
device_ptr->font_ctx->render_msg(device_ptr, viewport_w, &font_parms);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 3);
device_ptr->font_ctx->render_msg(device_ptr, viewport_h, &font_parms);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 4);
device_ptr->font_ctx->render_msg(device_ptr, "CONTROLS:", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_X_DPAD_LEFT)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_X_DPAD_LEFT));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, "- Viewport X --"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 5);
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 5);
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport X--", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_X_DPAD_RIGHT)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_X_DPAD_RIGHT));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, "- Viewport X ++"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 6);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport X++", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_UP), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_Y_DPAD_UP)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_UP), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_Y_DPAD_UP));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, msg); font_parms.x = default_pos.x_position;
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, "- Viewport Y ++"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 7);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport Y++", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_Y_DPAD_DOWN)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_LEFT_Y_DPAD_DOWN));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, "- Viewport Y --"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 8);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport Y--", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_X_DPAD_LEFT)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_X_DPAD_LEFT));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, "- Viewport W --"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 9);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport W--", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_X_DPAD_RIGHT)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_X_DPAD_RIGHT));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, "- Viewport W ++"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 10);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport W++", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L2), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_Y_DPAD_UP)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_L2), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_Y_DPAD_UP));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, "- Viewport H ++");
font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 11);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport H++", &font_parms);
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R2), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_Y_DPAD_DOWN)); snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_R2), rarch_input_find_platform_key_label(1ULL << RARCH_ANALOG_RIGHT_Y_DPAD_DOWN));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, "- Viewport H --"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 12);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Viewport H--", &font_parms);
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X)); snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, "- Reset To Defaults"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 13);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Reset To Defaults", &font_parms);
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_Y)); snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_Y));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, msg);
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, "- Show Game"); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 14);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Show Game", &font_parms);
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_A)); snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_A));
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, msg); font_parms.x = default_pos.x_position;
device_ptr->font_ctx->render_msg_place (device_ptr, default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, "- Go back"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * 15);
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
font_parms.x = default_pos.x_position_center;
device_ptr->font_ctx->render_msg(device_ptr, "- Go back", &font_parms);
snprintf(msg, sizeof(msg), "Press [%s] to reset to defaults.", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X)); snprintf(msg, sizeof(msg), "Press [%s] to reset to defaults.", rarch_input_find_platform_key_label(1ULL << RETRO_DEVICE_ID_JOYPAD_X));
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_y_position;
device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
} }
if(current_menu->browser_draw) if(current_menu->browser_draw)
@ -2378,6 +2526,7 @@ int ingame_menu(void *data, void *state)
char strw_buffer[256]; char strw_buffer[256];
unsigned menuitem_colors[MENU_ITEM_LAST]; unsigned menuitem_colors[MENU_ITEM_LAST];
static unsigned menu_idx = 0; static unsigned menu_idx = 0;
font_params_t font_parms = {0};
filebrowser_t *filebrowser = tmpBrowser; filebrowser_t *filebrowser = tmpBrowser;
rmenu_default_positions_t default_pos; rmenu_default_positions_t default_pos;
@ -2580,47 +2729,88 @@ int ingame_menu(void *data, void *state)
display_menubar(current_menu); display_menubar(current_menu);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, strw_buffer); font_parms.x = default_pos.x_position;
font_parms.y = default_pos.comment_y_position;
font_parms.scale = default_pos.font_size;
font_parms.color = WHITE;
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
menu_settings_create_menu_item_label(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer)); menu_settings_create_menu_item_label(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer));
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, default_pos.y_position, default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_LOAD_STATE), strw_buffer);
font_parms.y = default_pos.y_position;
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_LOAD_STATE);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
menu_settings_create_menu_item_label(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer)); menu_settings_create_menu_item_label(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer));
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SAVE_STATE), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SAVE_STATE), strw_buffer);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_SAVE_STATE);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_SAVE_STATE);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
menu_settings_create_menu_item_label(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer)); menu_settings_create_menu_item_label(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_KEEP_ASPECT_RATIO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_KEEP_ASPECT_RATIO), strw_buffer);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_KEEP_ASPECT_RATIO);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_KEEP_ASPECT_RATIO);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
snprintf(strw_buffer, sizeof(strw_buffer), "Overscan: %f", g_extern.console.screen.overscan_amount); snprintf(strw_buffer, sizeof(strw_buffer), "Overscan: %f", g_extern.console.screen.overscan_amount);
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_OVERSCAN_AMOUNT)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_OVERSCAN_AMOUNT), strw_buffer);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_OVERSCAN_AMOUNT);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_OVERSCAN_AMOUNT);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
menu_settings_create_menu_item_label(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); menu_settings_create_menu_item_label(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_ORIENTATION)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_ORIENTATION), strw_buffer);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_ORIENTATION);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_ORIENTATION);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
#ifdef HAVE_FBO #ifdef HAVE_FBO
menu_settings_create_menu_item_label(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer)); menu_settings_create_menu_item_label(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
device_ptr->font_ctx->render_msg_place(device_ptr, default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCALE_FACTOR)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCALE_FACTOR), strw_buffer);
font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_SCALE_FACTOR);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_SCALE_FACTOR);
device_ptr->font_ctx->render_msg(device_ptr, strw_buffer, &font_parms);
#endif #endif
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESIZE_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESIZE_MODE), "Resize Mode"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_RESIZE_MODE);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_RESIZE_MODE);
device_ptr->font_ctx->render_msg(device_ptr, "Resize Mode", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_FRAME_ADVANCE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_FRAME_ADVANCE), "Frame Advance"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_FRAME_ADVANCE);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_FRAME_ADVANCE);
device_ptr->font_ctx->render_msg(device_ptr, "Frame Advance", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCREENSHOT_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCREENSHOT_MODE), "Screenshot Mode"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_SCREENSHOT_MODE);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_SCREENSHOT_MODE);
device_ptr->font_ctx->render_msg(device_ptr, "Screenshot Mode", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESET)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESET), "Reset"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_RESET);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_RESET);
device_ptr->font_ctx->render_msg(device_ptr, "Reset", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_GAME)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_GAME), "Return to Game"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_RETURN_TO_GAME);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_GAME);
device_ptr->font_ctx->render_msg(device_ptr, "Return To Game", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MENU)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MENU), "Return to Menu"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_RETURN_TO_MENU);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MENU);
device_ptr->font_ctx->render_msg(device_ptr, "Return To Menu", &font_parms);
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_CHANGE_LIBRETRO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_CHANGE_LIBRETRO), "Change libretro core"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_CHANGE_LIBRETRO);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_CHANGE_LIBRETRO);
device_ptr->font_ctx->render_msg(device_ptr, "Change libretro core", &font_parms);
#ifdef HAVE_MULTIMAN #ifdef HAVE_MULTIMAN
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MULTIMAN)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MULTIMAN), "Return to multiMAN"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_RETURN_TO_MULTIMAN);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MULTIMAN);
device_ptr->font_ctx->render_msg(device_ptr, "Return to multiMAN", &font_parms);
#endif #endif
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_QUIT_RARCH)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_QUIT_RARCH), "Quit RetroArch"); font_parms.y = default_pos.y_position + (default_pos.y_position_increment * MENU_ITEM_QUIT_RARCH);
font_parms.color = MENU_ITEM_SELECTED(MENU_ITEM_QUIT_RARCH);
device_ptr->font_ctx->render_msg(device_ptr, "Quit RetroArch", &font_parms);
rarch_position_t position = {0}; rarch_position_t position = {0};
position.x = default_pos.x_position; position.x = default_pos.x_position;
@ -2790,7 +2980,7 @@ void menu_free(void)
bool menu_iterate(void) bool menu_iterate(void)
{ {
const char *msg; const char *msg;
font_params_t font_parms = {0};
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
static menu current_menu; static menu current_menu;
@ -2865,8 +3055,13 @@ bool menu_iterate(void)
msg = msg_queue_pull(g_extern.msg_queue); msg = msg_queue_pull(g_extern.msg_queue);
font_parms.x = default_pos.msg_queue_x_position;
font_parms.y = default_pos.msg_queue_y_position;
font_parms.scale = default_pos.msg_queue_font_size;
font_parms.color = WHITE;
if (msg && (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW))) if (msg && (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)))
device_ptr->font_ctx->render_msg_place(device_ptr,default_pos.msg_queue_x_position, default_pos.msg_queue_y_position, default_pos.msg_queue_font_size, WHITE, msg); device_ptr->font_ctx->render_msg(device_ptr, msg, &font_parms);
device_ptr->ctx_driver->swap_buffers(); device_ptr->ctx_driver->swap_buffers();

View File

@ -23,9 +23,7 @@ typedef struct d3d_font_renderer
{ {
bool (*init)(void *data, const char *font_path, unsigned font_size); bool (*init)(void *data, const char *font_path, unsigned font_size);
void (*deinit)(void *data); void (*deinit)(void *data);
void (*render_msg)(void *data, const char *msg); void (*render_msg)(void *data, const char *msg, void *parms);
void (*render_msg_place)(void *data, float x, float y,
float scale, uint32_t color, const char *str_msg);
const char *ident; const char *ident;
} d3d_font_renderer_t; } d3d_font_renderer_t;

View File

@ -23,9 +23,7 @@ typedef struct gl_font_renderer
{ {
bool (*init)(void *data, const char *font_path, float font_size); bool (*init)(void *data, const char *font_path, float font_size);
void (*deinit)(void *data); void (*deinit)(void *data);
void (*render_msg)(void *data, const char *msg); void (*render_msg)(void *data, const char *msg, void *parms);
void (*render_msg_place)(void *data, float x, float y,
float scale, uint32_t color, const char *msg);
const char *ident; const char *ident;
} gl_font_renderer_t; } gl_font_renderer_t;

View File

@ -14,6 +14,7 @@
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "../gfx_common.h"
#include "../gl_common.h" #include "../gl_common.h"
static bool gl_init_font(void *data, const char *font_path, float font_size) static bool gl_init_font(void *data, const char *font_path, float font_size)
@ -297,33 +298,35 @@ static void setup_font(void *data, const char *msg, GLfloat scale, GLfloat pos_x
gl_set_projection(gl, &ortho, true); gl_set_projection(gl, &ortho, true);
} }
static void gl_render_msg(void *data, const char *msg) static void gl_render_msg(void *data, const char *msg, void *parms)
{ {
(void)data; (void)data;
(void)msg; (void)msg;
GLfloat x, y, scale;
gl_t *gl = (gl_t*)data; gl_t *gl = (gl_t*)data;
setup_font(data, msg, font_params_t *params = (font_params_t*)parms;
g_settings.video.font_scale ? (GLfloat)gl->vp.width / (GLfloat)gl->full_x : 1.0f,
g_settings.video.msg_pos_x, g_settings.video.msg_pos_y);
}
static void gl_render_msg_place(void *data, float pos_x, float pos_y, float scale, uint32_t color, const char *msg) if (params)
{ {
(void)data; x = params->x;
(void)msg; y = params->y;
(void)color; scale = params->scale;
}
else
{
x = g_settings.video.msg_pos_x;
y = g_settings.video.msg_pos_y;
scale = g_settings.video.font_scale ? (GLfloat)gl->vp.width / (GLfloat)gl->full_x : 1.0f;
}
#ifdef HAVE_FREETYPE setup_font(data, msg, scale, x, y);
setup_font(data, msg, scale, pos_x, pos_y);
#endif
} }
const gl_font_renderer_t gl_raster_font = { const gl_font_renderer_t gl_raster_font = {
gl_init_font, gl_init_font,
gl_deinit_font, gl_deinit_font,
gl_render_msg, gl_render_msg,
gl_render_msg_place,
"GL raster", "GL raster",
}; };

View File

@ -15,6 +15,7 @@
*/ */
#include "fonts.h" #include "fonts.h"
#include "../gfx_common.h"
#if defined(SN_TARGET_PSP2) #if defined(SN_TARGET_PSP2)
#include <libdbgfont.h> #include <libdbgfont.h>
@ -66,22 +67,33 @@ static void gl_deinit_font(void *data)
DbgFontExit(); DbgFontExit();
} }
static void gl_render_msg(void *data, const char *msg) static void gl_render_msg(void *data, const char *msg, void *parms)
{ {
(void)data; (void)data;
float x = g_settings.video.msg_pos_x; float x, y, scale;
float y = 0.76f; unsigned color;
float scale = 1.04f; font_params_t *params = (font_params_t*)parms;
unsigned color = SILVER;
if (params)
{
x = params->x;
y = params->y;
scale = params->scale;
color = params->color;
}
else
{
x = g_settings.video.msg_pos_x;
y = 0.76f;
scale = 1.04f;
color = SILVER;
}
DbgFontPrint(x, y, scale, color, msg); DbgFontPrint(x, y, scale, color, msg);
DbgFontPrint(x, y, scale - 0.01f, WHITE, msg);
DbgFontDraw();
}
static void gl_render_msg_place(void *data, float x, float y, float scale, uint32_t color, const char *msg) if (!params)
{ DbgFontPrint(x, y, scale - 0.01f, WHITE, msg);
DbgFontPrint(x, y, scale, color, msg);
DbgFontDraw(); DbgFontDraw();
} }
@ -89,6 +101,5 @@ const gl_font_renderer_t libdbg_font = {
gl_init_font, gl_init_font,
gl_deinit_font, gl_deinit_font,
gl_render_msg, gl_render_msg,
gl_render_msg_place,
"GL raster", "GL raster",
}; };

View File

@ -16,6 +16,7 @@
#include <xtl.h> #include <xtl.h>
#include "d3d_font.h" #include "d3d_font.h"
#include "../gfx_common.h"
#include "../../general.h" #include "../../general.h"
static XFONT *debug_font; static XFONT *debug_font;
@ -42,28 +43,35 @@ static void xfonts_deinit_font(void *data)
(void)data; (void)data;
} }
static void xfonts_render_msg_place(void *data, float x, float y, float scale, uint32_t color, const char *msg) static void xfonts_render_msg(void *data, const char *msg, void *parms)
{ {
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
font_params_t *params = (font_params_t*)parms;
wchar_t str[PATH_MAX];
float x, y;
if (params)
{
x = params->x;
y = params->y;
}
else
{
x = g_settings.video.msg_pos_x;
y = g_settings.video.msg_pos_y;
}
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &pFrontBuffer); d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &pFrontBuffer);
wchar_t str[256];
convert_char_to_wchar(str, msg, sizeof(str)); convert_char_to_wchar(str, msg, sizeof(str));
debug_font->TextOut(pFrontBuffer, str, (unsigned)-1, x, y); debug_font->TextOut(pFrontBuffer, str, (unsigned)-1, x, y);
pFrontBuffer->Release(); pFrontBuffer->Release();
} }
static void xfonts_render_msg(void *data, const char *msg)
{
xfonts_render_msg_place(data, g_settings.video.msg_pos_x, g_settings.video.msg_pos_y, 0, 0, msg);
}
const d3d_font_renderer_t d3d_xdk1_font = { const d3d_font_renderer_t d3d_xdk1_font = {
xfonts_init_font, xfonts_init_font,
xfonts_deinit_font, xfonts_deinit_font,
xfonts_render_msg, xfonts_render_msg,
xfonts_render_msg_place,
"XDK1 Xfonts", "XDK1 Xfonts",
}; };

View File

@ -16,6 +16,7 @@
#include <xtl.h> #include <xtl.h>
#include "d3d_font.h" #include "d3d_font.h"
#include "../gfx_common.h"
#include "../../general.h" #include "../../general.h"
#include "../../xdk/xdk_resources.h" #include "../../xdk/xdk_resources.h"
@ -440,11 +441,24 @@ static void xdk_video_font_draw_text(xdk360_video_font_t *font,
d3dr->EndVertices(); d3dr->EndVertices();
} }
static void xdk_render_msg_place(void *data, float x, float y, float scale, uint32_t color, const char *str_msg) static void xdk_render_msg(void *driver, const char *msg, void *params)
{ {
(void)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver;
xdk360_video_font_t *font = &m_Font; xdk360_video_font_t *font = &m_Font;
font_params_t *params = (font_params_t*)parms;
wchar_t msg[PATH_MAX]; wchar_t msg[PATH_MAX];
float x, y;
if (params)
{
x = params->x;
y = params->y;
}
else
{
x = (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_HD)) ? 160 : 100;
y = 120;
}
convert_char_to_wchar(msg, str_msg, sizeof(msg)); convert_char_to_wchar(msg, str_msg, sizeof(msg));
@ -456,20 +470,9 @@ static void xdk_render_msg_place(void *data, float x, float y, float scale, uint
} }
} }
static void xdk_render_msg(void *driver, const char *msg)
{
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver;
float x = (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_HD)) ? 160 : 100;
float y = 120;
xdk_render_msg_place(d3d, x, y, 0, 0, msg);
}
const d3d_font_renderer_t d3d_xbox360_font = { const d3d_font_renderer_t d3d_xbox360_font = {
xdk_init_font, xdk_init_font,
xdk_deinit_font, xdk_deinit_font,
xdk_render_msg, xdk_render_msg,
xdk_render_msg_place,
"Xbox 360 fonts", "Xbox 360 fonts",
}; };

View File

@ -40,6 +40,14 @@ void gfx_set_dwm(void);
void gfx_scale_integer(struct rarch_viewport *vp, unsigned win_width, unsigned win_height, void gfx_scale_integer(struct rarch_viewport *vp, unsigned win_width, unsigned win_height,
float aspect_ratio, bool keep_aspect); float aspect_ratio, bool keep_aspect);
typedef struct
{
float x;
float y;
float scale;
unsigned color;
} font_params_t;
#define MIN_SCALING_FACTOR (1.0f) #define MIN_SCALING_FACTOR (1.0f)
#if defined(__CELLOS_LV2__) #if defined(__CELLOS_LV2__)
@ -48,7 +56,6 @@ void gfx_scale_integer(struct rarch_viewport *vp, unsigned win_width, unsigned w
#define MAX_SCALING_FACTOR (2.0f) #define MAX_SCALING_FACTOR (2.0f)
#endif #endif
enum aspect_ratio enum aspect_ratio
{ {
ASPECT_RATIO_1_1 = 0, ASPECT_RATIO_1_1 = 0,

View File

@ -1365,15 +1365,23 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
if (lifecycle_mode_state & (1ULL << MODE_FPS_DRAW)) if (lifecycle_mode_state & (1ULL << MODE_FPS_DRAW))
{ {
char fps_txt[128]; char fps_txt[128];
font_params_t params = {0};
gfx_get_fps(fps_txt, sizeof(fps_txt), true); gfx_get_fps(fps_txt, sizeof(fps_txt), true);
if (gl->font_ctx) if (gl->font_ctx)
gl->font_ctx->render_msg_place(gl, g_settings.video.msg_pos_x, 0.56f, 1.04f, WHITE, fps_txt); {
params.x = g_settings.video.msg_pos_x;
params.y = 0.56f;
params.scale = 1.04f;
params.color = WHITE;
gl->font_ctx->render_msg(gl, fps_txt, &params);
}
} }
#endif #endif
if (msg && gl->font_ctx) if (msg && gl->font_ctx)
gl->font_ctx->render_msg(gl, msg); gl->font_ctx->render_msg(gl, msg, NULL);
if (gl->ctx_driver->post_render) if (gl->ctx_driver->post_render)
context_post_render_func(gl); context_post_render_func(gl);

View File

@ -875,22 +875,34 @@ static bool xdk_d3d_frame(void *data, const void *frame,
if (lifecycle_mode_state & (1ULL << MODE_FPS_DRAW)) if (lifecycle_mode_state & (1ULL << MODE_FPS_DRAW))
{ {
MEMORYSTATUS stat; MEMORYSTATUS stat;
char buf[128];
font_params_t font_parms = {0};
GlobalMemoryStatus(&stat); GlobalMemoryStatus(&stat);
char fps_txt[128]; font_parms.x = mem_width;
char buf[128]; font_parms.y = mem_height;
font_parms.scale = 0;
font_parms.color = 0;
snprintf(buf, sizeof(buf), "%.2f MB free / %.2f MB total", stat.dwAvailPhys/(1024.0f*1024.0f), stat.dwTotalPhys/(1024.0f*1024.0f)); snprintf(buf, sizeof(buf), "%.2f MB free / %.2f MB total", stat.dwAvailPhys/(1024.0f*1024.0f), stat.dwTotalPhys/(1024.0f*1024.0f));
if (d3d->font_ctx) if (d3d->font_ctx)
d3d->font_ctx->render_msg_place(d3d, mem_width, mem_height, 0, 0, buf); d3d->font_ctx->render_msg(d3d, buf, &font_parms);
gfx_get_fps(fps_txt, sizeof(fps_txt), true); gfx_get_fps(buf, sizeof(buf), true);
if (d3d->font_ctx) if (d3d->font_ctx)
d3d->font_ctx->render_msg_place(d3d, mem_width, mem_height + 30, 0, 0, fps_txt); {
font_parms.y = mem_height + 30;
d3d->font_ctx->render_msg(d3d, buf, &font_parms);
}
} }
if (msg) if (msg)
d3d->font_ctx->render_msg_place(d3d, msg_width, msg_height, 0.0f, 0, msg); {
font_parms.x = msg_width;
font_parms.y = msg_height;
d3d->font_ctx->render_msg(d3d, msg, &font_parms);
}
if (lifecycle_mode_state & (1ULL << MODE_MENU_DRAW)) if (lifecycle_mode_state & (1ULL << MODE_MENU_DRAW))
{ {