mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Merge pull request #1189 from lakkatv/xmb
(Lakka) Display ON/OFF switch
This commit is contained in:
commit
9c311d831f
@ -346,12 +346,41 @@ static void lakka_draw_subitems(lakka_handle_t *lakka, int i, int j)
|
|||||||
char val[PATH_MAX];
|
char val[PATH_MAX];
|
||||||
setting_data_get_string_representation(subitem->setting, val,
|
setting_data_get_string_representation(subitem->setting, val,
|
||||||
sizeof(val));
|
sizeof(val));
|
||||||
lakka_draw_text(lakka, val,
|
|
||||||
lakka->margin_left + lakka->hspacing * (i+2.25) +
|
if ((strcmp(val, "ON") && strcmp(val, "OFF"))
|
||||||
lakka->all_categories_x + lakka->label_margin_left + lakka->setting_margin_left,
|
|| ((!strcmp(val, "ON")
|
||||||
lakka->margin_top + subitem->y + lakka->label_margin_top,
|
&& !lakka->textures[TEXTURE_SWITCH_ON].id)
|
||||||
1,
|
|| (!strcmp(val, "OFF")
|
||||||
subitem->alpha);
|
&& !lakka->textures[TEXTURE_SWITCH_OFF].id)))
|
||||||
|
lakka_draw_text(lakka, val,
|
||||||
|
lakka->margin_left + lakka->hspacing * (i+2.25) +
|
||||||
|
lakka->all_categories_x + lakka->label_margin_left
|
||||||
|
+ lakka->setting_margin_left,
|
||||||
|
lakka->margin_top + subitem->y + lakka->label_margin_top,
|
||||||
|
1,
|
||||||
|
subitem->alpha);
|
||||||
|
|
||||||
|
if (!strcmp(val, "ON") && lakka->textures[TEXTURE_SWITCH_ON].id)
|
||||||
|
lakka_draw_icon(lakka, lakka->textures[TEXTURE_SWITCH_ON].id,
|
||||||
|
lakka->margin_left + lakka->hspacing * (i+1)
|
||||||
|
+ lakka->icon_size * 2 + lakka->all_categories_x
|
||||||
|
+ lakka->setting_margin_left + lakka->icon_size/2.0
|
||||||
|
- 8 * lakka->scale_factor,
|
||||||
|
lakka->margin_top + subitem->y + lakka->icon_size/2.0,
|
||||||
|
subitem->alpha,
|
||||||
|
0,
|
||||||
|
1);
|
||||||
|
|
||||||
|
if (!strcmp(val, "OFF") && lakka->textures[TEXTURE_SWITCH_OFF].id)
|
||||||
|
lakka_draw_icon(lakka, lakka->textures[TEXTURE_SWITCH_OFF].id,
|
||||||
|
lakka->margin_left + lakka->hspacing * (i+1)
|
||||||
|
+ lakka->icon_size * 2 + lakka->all_categories_x
|
||||||
|
+ lakka->setting_margin_left + lakka->icon_size/2.0
|
||||||
|
- 8 * lakka->scale_factor,
|
||||||
|
lakka->margin_top + subitem->y + lakka->icon_size/2.0,
|
||||||
|
subitem->alpha,
|
||||||
|
0,
|
||||||
|
1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -878,6 +907,10 @@ static void lakka_context_reset(void *data)
|
|||||||
"screenshot.png", sizeof(lakka->textures[TEXTURE_SCREENSHOT].path));
|
"screenshot.png", sizeof(lakka->textures[TEXTURE_SCREENSHOT].path));
|
||||||
fill_pathname_join(lakka->textures[TEXTURE_RELOAD].path, iconpath,
|
fill_pathname_join(lakka->textures[TEXTURE_RELOAD].path, iconpath,
|
||||||
"reload.png", sizeof(lakka->textures[TEXTURE_RELOAD].path));
|
"reload.png", sizeof(lakka->textures[TEXTURE_RELOAD].path));
|
||||||
|
fill_pathname_join(lakka->textures[TEXTURE_SWITCH_ON].path, iconpath,
|
||||||
|
"on.png", sizeof(lakka->textures[TEXTURE_SWITCH_ON].path));
|
||||||
|
fill_pathname_join(lakka->textures[TEXTURE_SWITCH_OFF].path, iconpath,
|
||||||
|
"off.png", sizeof(lakka->textures[TEXTURE_SWITCH_OFF].path));
|
||||||
|
|
||||||
for (k = 0; k < TEXTURE_LAST; k++)
|
for (k = 0; k < TEXTURE_LAST; k++)
|
||||||
lakka->textures[k].id = lakka_png_texture_load(lakka->textures[k].path);
|
lakka->textures[k].id = lakka_png_texture_load(lakka->textures[k].path);
|
||||||
@ -1160,26 +1193,27 @@ static void *lakka_init(void)
|
|||||||
lakka->active_item_factor = 3.0;
|
lakka->active_item_factor = 3.0;
|
||||||
lakka->under_item_offset = 5.0;
|
lakka->under_item_offset = 5.0;
|
||||||
|
|
||||||
float scale_factor = 1;
|
lakka->scale_factor = 1;
|
||||||
if (gl->win_width >= 3840) scale_factor = 2.0;
|
if (gl->win_width >= 3840) lakka->scale_factor = 2.0;
|
||||||
else if (gl->win_width >= 2560) scale_factor = 1.5;
|
else if (gl->win_width >= 2560) lakka->scale_factor = 1.5;
|
||||||
else if (gl->win_width >= 1920) scale_factor = 1.0;
|
else if (gl->win_width >= 1920) lakka->scale_factor = 1.0;
|
||||||
else if (gl->win_width >= 1280) scale_factor = 0.75;
|
else if (gl->win_width >= 1280) lakka->scale_factor = 0.75;
|
||||||
else if (gl->win_width >= 640) scale_factor = 0.5;
|
else if (gl->win_width >= 640) lakka->scale_factor = 0.5;
|
||||||
else if (gl->win_width >= 320) scale_factor = 0.25;
|
else if (gl->win_width >= 320) lakka->scale_factor = 0.25;
|
||||||
|
lakka->scale_factor = 0.75;
|
||||||
|
|
||||||
strlcpy(lakka->icon_dir, "256", sizeof(lakka->icon_dir));
|
strlcpy(lakka->icon_dir, "256", sizeof(lakka->icon_dir));
|
||||||
|
|
||||||
lakka->icon_size = 128.0 * scale_factor;
|
lakka->icon_size = 128.0 * lakka->scale_factor;
|
||||||
lakka->hspacing = 200.0 * scale_factor;
|
lakka->hspacing = 200.0 * lakka->scale_factor;
|
||||||
lakka->vspacing = 64.0 * scale_factor;
|
lakka->vspacing = 64.0 * lakka->scale_factor;
|
||||||
lakka->margin_left = 336.0 * scale_factor;
|
lakka->margin_left = 336.0 * lakka->scale_factor;
|
||||||
lakka->margin_top = (256+32) * scale_factor;
|
lakka->margin_top = (256+32) * lakka->scale_factor;
|
||||||
lakka->title_margin_left = 60 * scale_factor;
|
lakka->title_margin_left = 60 * lakka->scale_factor;
|
||||||
lakka->title_margin_top = 60 * scale_factor + g_settings.video.font_size/3;
|
lakka->title_margin_top = 60 * lakka->scale_factor + g_settings.video.font_size/3;
|
||||||
lakka->label_margin_left = 85.0 * scale_factor;
|
lakka->label_margin_left = 85.0 * lakka->scale_factor;
|
||||||
lakka->label_margin_top = g_settings.video.font_size/3.0;
|
lakka->label_margin_top = g_settings.video.font_size/3.0;
|
||||||
lakka->setting_margin_left = 600.0 * scale_factor;
|
lakka->setting_margin_left = 600.0 * lakka->scale_factor;
|
||||||
|
|
||||||
lakka->depth = 0;
|
lakka->depth = 0;
|
||||||
lakka->menu_active_category = 0;
|
lakka->menu_active_category = 0;
|
||||||
|
@ -42,6 +42,8 @@ enum
|
|||||||
TEXTURE_LOADSTATE,
|
TEXTURE_LOADSTATE,
|
||||||
TEXTURE_SCREENSHOT,
|
TEXTURE_SCREENSHOT,
|
||||||
TEXTURE_RELOAD,
|
TEXTURE_RELOAD,
|
||||||
|
TEXTURE_SWITCH_ON,
|
||||||
|
TEXTURE_SWITCH_OFF,
|
||||||
TEXTURE_LAST
|
TEXTURE_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -89,6 +91,7 @@ struct lakka_texture_item
|
|||||||
|
|
||||||
typedef struct lakka_handle
|
typedef struct lakka_handle
|
||||||
{
|
{
|
||||||
|
float scale_factor;
|
||||||
float c_active_zoom;
|
float c_active_zoom;
|
||||||
float c_passive_zoom;
|
float c_passive_zoom;
|
||||||
float c_active_alpha;
|
float c_active_alpha;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user