mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Create menu_display_get_fb_size
This commit is contained in:
parent
374fd57270
commit
0a7538f1b8
@ -546,27 +546,27 @@ static void setup_video_mode(gx_video_t *gx)
|
||||
|
||||
static void init_texture(void *data, unsigned width, unsigned height)
|
||||
{
|
||||
unsigned g_filter, menu_w, menu_h;
|
||||
unsigned g_filter;
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
gx_video_t *gx = (gx_video_t*)data;
|
||||
GXTexObj *fb_ptr = (GXTexObj*)&g_tex.obj;
|
||||
GXTexObj *menu_ptr = (GXTexObj*)&menu_tex.obj;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
width &= ~3;
|
||||
height &= ~3;
|
||||
g_filter = settings->video.smooth ? GX_LINEAR : GX_NEAR;
|
||||
menu_w = 320;
|
||||
menu_h = 240;
|
||||
width &= ~3;
|
||||
height &= ~3;
|
||||
g_filter = settings->video.smooth ? GX_LINEAR : GX_NEAR;
|
||||
|
||||
menu_w = menu_display_get_width();
|
||||
menu_h = menu_display_get_height();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
GX_InitTexObj(fb_ptr, g_tex.data, width, height,
|
||||
(gx->rgb32) ? GX_TF_RGBA8 : gx->menu_texture_enable ?
|
||||
GX_TF_RGB5A3 : GX_TF_RGB565,
|
||||
GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GX_InitTexObjFilterMode(fb_ptr, g_filter, g_filter);
|
||||
GX_InitTexObj(menu_ptr, menu_tex.data, menu_w, menu_h,
|
||||
GX_InitTexObj(menu_ptr, menu_tex.data, fb_width, fb_height,
|
||||
GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GX_InitTexObjFilterMode(menu_ptr, g_filter, g_filter);
|
||||
GX_InvalidateTexAll();
|
||||
@ -1503,9 +1503,11 @@ static bool gx_frame(void *data, const void *frame,
|
||||
|
||||
if (gx->menu_texture_enable && gx->menu_data)
|
||||
{
|
||||
unsigned fb_width = menu_display_get_width();
|
||||
unsigned fb_height = menu_display_get_height();
|
||||
size_t fb_pitch = menu_display_get_framebuffer_pitch();
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
convert_texture16(
|
||||
gx->menu_data,
|
||||
|
@ -253,14 +253,14 @@ static bool rguidisp_init_font(menu_handle_t *menu)
|
||||
|
||||
static void rgui_render_background(void)
|
||||
{
|
||||
size_t pitch_in_pixels, size, fb_pitch;
|
||||
size_t pitch_in_pixels, size;
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
uint16_t *src = NULL;
|
||||
uint16_t *dst = NULL;
|
||||
|
||||
fb_width = menu_display_get_width();
|
||||
fb_height = menu_display_get_height();
|
||||
fb_pitch = menu_display_get_framebuffer_pitch();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
pitch_in_pixels = fb_pitch >> 1;
|
||||
size = fb_pitch * 4;
|
||||
@ -316,9 +316,8 @@ static void rgui_render_messagebox(const char *message)
|
||||
width = 0;
|
||||
glyphs_width = 0;
|
||||
|
||||
fb_width = menu_display_get_width();
|
||||
fb_height = menu_display_get_height();
|
||||
fb_pitch = menu_display_get_framebuffer_pitch();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
for (i = 0; i < list->size; i++)
|
||||
{
|
||||
@ -371,12 +370,13 @@ end:
|
||||
|
||||
static void rgui_blit_cursor(void)
|
||||
{
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
int16_t x = menu_input_mouse_state(MENU_MOUSE_X_AXIS);
|
||||
int16_t y = menu_input_mouse_state(MENU_MOUSE_Y_AXIS);
|
||||
|
||||
unsigned fb_width = menu_display_get_width();
|
||||
unsigned fb_height = menu_display_get_height();
|
||||
size_t fb_pitch = menu_display_get_framebuffer_pitch();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
rgui_color_rect(fb_pitch, fb_width, fb_height, x, y - 5, 1, 11, 0xFFFF);
|
||||
rgui_color_rect(fb_pitch, fb_width, fb_height, x - 5, y, 11, 1, 0xFFFF);
|
||||
@ -425,9 +425,8 @@ static void rgui_render(void *data)
|
||||
return;
|
||||
}
|
||||
|
||||
fb_width = menu_display_get_width();
|
||||
fb_height = menu_display_get_height();
|
||||
fb_pitch = menu_display_get_framebuffer_pitch();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
/* if the framebuffer changed size, recache the background */
|
||||
if (rgui->last_width != fb_width || rgui->last_height != fb_height)
|
||||
@ -734,13 +733,14 @@ static void rgui_free(void *data)
|
||||
|
||||
static void rgui_set_texture(void)
|
||||
{
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
|
||||
if (!menu_display_get_framebuffer_dirty_flag())
|
||||
return;
|
||||
|
||||
fb_width = menu_display_get_width();
|
||||
fb_height = menu_display_get_height();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
menu_display_unset_framebuffer_dirty_flag();
|
||||
|
||||
@ -762,7 +762,7 @@ static void rgui_navigation_clear(void *data, bool pending_push)
|
||||
|
||||
static void rgui_navigation_set(void *data, bool scroll)
|
||||
{
|
||||
size_t selection, start;
|
||||
size_t selection, start, fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
bool do_set_start = false;
|
||||
size_t end = menu_entries_get_end();
|
||||
@ -771,8 +771,8 @@ static void rgui_navigation_set(void *data, bool scroll)
|
||||
if (!scroll)
|
||||
return;
|
||||
|
||||
fb_width = menu_display_get_width();
|
||||
fb_height = menu_display_get_height();
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
if (selection < RGUI_TERM_HEIGHT(fb_width, fb_height) /2)
|
||||
{
|
||||
|
@ -528,15 +528,18 @@ static void xui_set_list_text(int index, const wchar_t* leftText,
|
||||
|
||||
static void xui_render(void *data)
|
||||
{
|
||||
size_t end, i, selection;
|
||||
size_t end, i, selection, fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
char title[PATH_MAX_LENGTH] = {0};
|
||||
const char *dir = NULL;
|
||||
const char *label = NULL;
|
||||
unsigned menu_type = 0;
|
||||
uint64_t *frame_count = video_driver_get_frame_count_ptr();
|
||||
unsigned fb_width = menu_display_get_width();
|
||||
bool msg_force = menu_display_get_msg_force();
|
||||
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
if (
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL)
|
||||
&& menu_driver_is_alive()
|
||||
|
@ -336,26 +336,24 @@ bool menu_display_libretro(void)
|
||||
return video_driver_cached_frame();
|
||||
}
|
||||
|
||||
void menu_display_get_fb_size(unsigned *fb_width,
|
||||
unsigned *fb_height, size_t *fb_pitch)
|
||||
{
|
||||
*fb_width = menu_display_framebuf_width;
|
||||
*fb_height = menu_display_framebuf_height;
|
||||
*fb_pitch = menu_display_framebuf_pitch;
|
||||
}
|
||||
|
||||
void menu_display_set_width(unsigned width)
|
||||
{
|
||||
menu_display_framebuf_width = width;
|
||||
}
|
||||
|
||||
unsigned menu_display_get_width(void)
|
||||
{
|
||||
return menu_display_framebuf_width;
|
||||
}
|
||||
|
||||
void menu_display_set_height(unsigned height)
|
||||
{
|
||||
menu_display_framebuf_height = height;
|
||||
}
|
||||
|
||||
unsigned menu_display_get_height(void)
|
||||
{
|
||||
return menu_display_framebuf_height;
|
||||
}
|
||||
|
||||
void menu_display_set_header_height(unsigned height)
|
||||
{
|
||||
menu_display_header_height = height;
|
||||
|
@ -216,9 +216,9 @@ bool menu_display_libretro_running(void);
|
||||
bool menu_display_libretro(void);
|
||||
|
||||
void menu_display_set_width(unsigned width);
|
||||
unsigned menu_display_get_width(void);
|
||||
void menu_display_get_fb_size(unsigned *fb_width, unsigned *fb_height,
|
||||
size_t *fb_pitch);
|
||||
void menu_display_set_height(unsigned height);
|
||||
unsigned menu_display_get_height(void);
|
||||
void menu_display_set_header_height(unsigned height);
|
||||
unsigned menu_display_get_header_height(void);
|
||||
size_t menu_display_get_framebuffer_pitch(void);
|
||||
|
@ -47,14 +47,17 @@ static int menu_event_pointer(unsigned *action)
|
||||
{
|
||||
rarch_joypad_info_t joypad_info;
|
||||
int pointer_x, pointer_y;
|
||||
size_t fb_pitch;
|
||||
unsigned fb_width, fb_height;
|
||||
const struct retro_keybind *binds[MAX_USERS] = {NULL};
|
||||
menu_input_t *menu_input = menu_input_get_ptr();
|
||||
unsigned fb_width = menu_display_get_width();
|
||||
unsigned fb_height = menu_display_get_height();
|
||||
int pointer_device =
|
||||
menu_driver_ctl(RARCH_MENU_CTL_IS_SET_TEXTURE, NULL) ?
|
||||
RETRO_DEVICE_POINTER : RARCH_DEVICE_POINTER_SCREEN;
|
||||
|
||||
menu_display_get_fb_size(&fb_width, &fb_height,
|
||||
&fb_pitch);
|
||||
|
||||
joypad_info.joy_idx = 0;
|
||||
joypad_info.auto_binds = NULL;
|
||||
joypad_info.axis_threshold = 0.0f;
|
||||
|
Loading…
x
Reference in New Issue
Block a user