Get rid of some code duplication in MaterialUI/Ozone
This commit is contained in:
parent
8ea67c0d99
commit
bc1672708d
|
@ -793,6 +793,19 @@ void font_driver_bind_block(void *font_data, void *block)
|
||||||
font->renderer->bind_block(font->renderer_data, block);
|
font->renderer->bind_block(font->renderer_data, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Flushing is slow - only do it if font has actually been used */
|
||||||
|
void font_flush(
|
||||||
|
unsigned video_width,
|
||||||
|
unsigned video_height,
|
||||||
|
font_data_impl_t *font_data)
|
||||||
|
{
|
||||||
|
if (font_data->raster_block.carr.coords.vertices == 0)
|
||||||
|
return;
|
||||||
|
if (font_data->font && font_data->font->renderer && font_data->font->renderer->flush)
|
||||||
|
font_data->font->renderer->flush(video_width, video_height, font_data->font->renderer_data);
|
||||||
|
font_data->raster_block.carr.coords.vertices = 0;
|
||||||
|
}
|
||||||
|
|
||||||
int font_driver_get_message_width(void *font_data,
|
int font_driver_get_message_width(void *font_data,
|
||||||
const char *msg, size_t len, float scale)
|
const char *msg, size_t len, float scale)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#include <boolean.h>
|
#include <boolean.h>
|
||||||
#include <retro_common_api.h>
|
#include <retro_common_api.h>
|
||||||
|
#include <retro_inline.h>
|
||||||
|
|
||||||
#include "../retroarch.h"
|
#include "../retroarch.h"
|
||||||
|
|
||||||
|
@ -73,6 +74,32 @@ typedef struct
|
||||||
float size;
|
float size;
|
||||||
} font_data_t;
|
} font_data_t;
|
||||||
|
|
||||||
|
/* This structure holds all objects + metadata
|
||||||
|
* corresponding to a particular font */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
font_data_t *font;
|
||||||
|
video_font_raster_block_t raster_block; /* ptr alignment */
|
||||||
|
unsigned glyph_width;
|
||||||
|
unsigned wideglyph_width;
|
||||||
|
int line_height;
|
||||||
|
int line_ascender;
|
||||||
|
int line_centre_offset;
|
||||||
|
} font_data_impl_t;
|
||||||
|
|
||||||
|
void font_driver_bind_block(void *font_data, void *block);
|
||||||
|
|
||||||
|
static void INLINE font_bind(font_data_impl_t *font_data)
|
||||||
|
{
|
||||||
|
font_driver_bind_block(font_data->font, &font_data->raster_block);
|
||||||
|
font_data->raster_block.carr.coords.vertices = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void INLINE font_unbind(font_data_impl_t *font_data)
|
||||||
|
{
|
||||||
|
font_driver_bind_block(font_data->font, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* font_path can be NULL for default font. */
|
/* font_path can be NULL for default font. */
|
||||||
int font_renderer_create_default(
|
int font_renderer_create_default(
|
||||||
const font_renderer_driver_t **drv,
|
const font_renderer_driver_t **drv,
|
||||||
|
@ -82,12 +109,15 @@ int font_renderer_create_default(
|
||||||
void font_driver_render_msg(void *data,
|
void font_driver_render_msg(void *data,
|
||||||
const char *msg, const struct font_params *params, void *font_data);
|
const char *msg, const struct font_params *params, void *font_data);
|
||||||
|
|
||||||
void font_driver_bind_block(void *font_data, void *block);
|
|
||||||
|
|
||||||
int font_driver_get_message_width(void *font_data, const char *msg, size_t len, float scale);
|
int font_driver_get_message_width(void *font_data, const char *msg, size_t len, float scale);
|
||||||
|
|
||||||
void font_driver_free(font_data_t *font);
|
void font_driver_free(font_data_t *font);
|
||||||
|
|
||||||
|
void font_flush(
|
||||||
|
unsigned video_width,
|
||||||
|
unsigned video_height,
|
||||||
|
font_data_impl_t *font_data);
|
||||||
|
|
||||||
font_data_t *font_driver_init_first(
|
font_data_t *font_driver_init_first(
|
||||||
void *video_data,
|
void *video_data,
|
||||||
const char *font_path,
|
const char *font_path,
|
||||||
|
|
|
@ -495,19 +495,6 @@ typedef struct
|
||||||
bool dragged;
|
bool dragged;
|
||||||
} materialui_scrollbar_t;
|
} materialui_scrollbar_t;
|
||||||
|
|
||||||
/* This structure holds all objects + metadata
|
|
||||||
* corresponding to a particular font */
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
font_data_t *font;
|
|
||||||
video_font_raster_block_t raster_block; /* ptr alignment */
|
|
||||||
unsigned glyph_width;
|
|
||||||
unsigned wideglyph_width;
|
|
||||||
int line_height;
|
|
||||||
int line_ascender;
|
|
||||||
int line_centre_offset;
|
|
||||||
} materialui_font_data_t;
|
|
||||||
|
|
||||||
/* This structure is used to cache system bar
|
/* This structure is used to cache system bar
|
||||||
* string data (+ metadata) to improve rendering
|
* string data (+ metadata) to improve rendering
|
||||||
* performance */
|
* performance */
|
||||||
|
@ -597,9 +584,9 @@ typedef struct materialui_handle
|
||||||
/* Font data */
|
/* Font data */
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
materialui_font_data_t title; /* ptr alignment */
|
font_data_impl_t title; /* ptr alignment */
|
||||||
materialui_font_data_t list; /* ptr alignment */
|
font_data_impl_t list; /* ptr alignment */
|
||||||
materialui_font_data_t hint; /* ptr alignment */
|
font_data_impl_t hint; /* ptr alignment */
|
||||||
} font_data;
|
} font_data;
|
||||||
|
|
||||||
void (*word_wrap)(
|
void (*word_wrap)(
|
||||||
|
@ -2193,30 +2180,6 @@ static const char *materialui_texture_path(unsigned id)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void INLINE materialui_font_bind(materialui_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
font_driver_bind_block(font_data->font, &font_data->raster_block);
|
|
||||||
font_data->raster_block.carr.coords.vertices = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void INLINE materialui_font_unbind(materialui_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
font_driver_bind_block(font_data->font, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Flushing is slow - only do it if font
|
|
||||||
* has actually been used */
|
|
||||||
static void materialui_font_flush(
|
|
||||||
unsigned video_width, unsigned video_height,
|
|
||||||
materialui_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
if (font_data->raster_block.carr.coords.vertices == 0)
|
|
||||||
return;
|
|
||||||
if (font_data->font && font_data->font->renderer && font_data->font->renderer->flush)
|
|
||||||
font_data->font->renderer->flush(video_width, video_height, font_data->font->renderer_data);
|
|
||||||
font_data->raster_block.carr.coords.vertices = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ==============================
|
/* ==============================
|
||||||
* Playlist icons START
|
* Playlist icons START
|
||||||
* ============================== */
|
* ============================== */
|
||||||
|
@ -3560,7 +3523,7 @@ static bool (*materialui_render_process_entry)(
|
||||||
|
|
||||||
static void materialui_init_font(
|
static void materialui_init_font(
|
||||||
gfx_display_t *p_disp,
|
gfx_display_t *p_disp,
|
||||||
materialui_font_data_t *font_data,
|
font_data_impl_t *font_data,
|
||||||
int font_size,
|
int font_size,
|
||||||
bool video_is_threaded,
|
bool video_is_threaded,
|
||||||
const char *str_latin);
|
const char *str_latin);
|
||||||
|
@ -5119,7 +5082,7 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
|
||||||
/* Status bar overlaps list entries
|
/* Status bar overlaps list entries
|
||||||
* > Must flush list font before attempting
|
* > Must flush list font before attempting
|
||||||
* to draw it */
|
* to draw it */
|
||||||
materialui_font_flush(video_width, video_height, &mui->font_data.list);
|
font_flush(video_width, video_height, &mui->font_data.list);
|
||||||
|
|
||||||
/* Background
|
/* Background
|
||||||
* > Surface */
|
* > Surface */
|
||||||
|
@ -7070,9 +7033,9 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
video_st->data, video_width, video_height, true, false);
|
video_st->data, video_width, video_height, true, false);
|
||||||
|
|
||||||
/* Clear text */
|
/* Clear text */
|
||||||
materialui_font_bind(&mui->font_data.title);
|
font_bind(&mui->font_data.title);
|
||||||
materialui_font_bind(&mui->font_data.list);
|
font_bind(&mui->font_data.list);
|
||||||
materialui_font_bind(&mui->font_data.hint);
|
font_bind(&mui->font_data.hint);
|
||||||
|
|
||||||
/* Update theme colours, if required */
|
/* Update theme colours, if required */
|
||||||
if (mui->color_theme != materialui_color_theme)
|
if (mui->color_theme != materialui_color_theme)
|
||||||
|
@ -7163,8 +7126,8 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
|
|
||||||
/* Flush first layer of text
|
/* Flush first layer of text
|
||||||
* > Menu list only uses list and hint fonts */
|
* > Menu list only uses list and hint fonts */
|
||||||
materialui_font_flush(video_width, video_height, &mui->font_data.list);
|
font_flush(video_width, video_height, &mui->font_data.list);
|
||||||
materialui_font_flush(video_width, video_height, &mui->font_data.hint);
|
font_flush(video_width, video_height, &mui->font_data.hint);
|
||||||
|
|
||||||
/* Draw fullscreen thumbnails, if currently active
|
/* Draw fullscreen thumbnails, if currently active
|
||||||
* > Must be done *after* we flush the first layer
|
* > Must be done *after* we flush the first layer
|
||||||
|
@ -7183,10 +7146,8 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
|
|
||||||
/* Flush second layer of text
|
/* Flush second layer of text
|
||||||
* > Title + system bar only use title and hint fonts */
|
* > Title + system bar only use title and hint fonts */
|
||||||
materialui_font_flush(video_width,
|
font_flush(video_width, video_height, &mui->font_data.title);
|
||||||
video_height, &mui->font_data.title);
|
font_flush(video_width, video_height, &mui->font_data.hint);
|
||||||
materialui_font_flush(video_width,
|
|
||||||
video_height, &mui->font_data.hint);
|
|
||||||
|
|
||||||
/* Handle onscreen keyboard */
|
/* Handle onscreen keyboard */
|
||||||
if (menu_input_dialog_get_display_kb())
|
if (menu_input_dialog_get_display_kb())
|
||||||
|
@ -7238,7 +7199,7 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
|
|
||||||
/* Flush message box & osk text
|
/* Flush message box & osk text
|
||||||
* > Message box & osk only use list font */
|
* > Message box & osk only use list font */
|
||||||
materialui_font_flush(video_width, video_height, &mui->font_data.list);
|
font_flush(video_width, video_height, &mui->font_data.list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw message box */
|
/* Draw message box */
|
||||||
|
@ -7267,7 +7228,7 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
|
|
||||||
/* Flush message box text
|
/* Flush message box text
|
||||||
* > Message box only uses list font */
|
* > Message box only uses list font */
|
||||||
materialui_font_flush(video_width, video_height, &mui->font_data.list);
|
font_flush(video_width, video_height, &mui->font_data.list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw mouse cursor */
|
/* Draw mouse cursor */
|
||||||
|
@ -7304,9 +7265,9 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
||||||
materialui_colors_reset_transition_alpha(mui);
|
materialui_colors_reset_transition_alpha(mui);
|
||||||
|
|
||||||
/* Unbind fonts */
|
/* Unbind fonts */
|
||||||
materialui_font_unbind(&mui->font_data.title);
|
font_unbind(&mui->font_data.title);
|
||||||
materialui_font_unbind(&mui->font_data.list);
|
font_unbind(&mui->font_data.list);
|
||||||
materialui_font_unbind(&mui->font_data.hint);
|
font_unbind(&mui->font_data.hint);
|
||||||
|
|
||||||
if (video_st->current_video && video_st->current_video->set_viewport)
|
if (video_st->current_video && video_st->current_video->set_viewport)
|
||||||
video_st->current_video->set_viewport(
|
video_st->current_video->set_viewport(
|
||||||
|
@ -7886,7 +7847,7 @@ static void materialui_update_list_view(materialui_handle_t *mui, settings_t *se
|
||||||
|
|
||||||
static void materialui_init_font(
|
static void materialui_init_font(
|
||||||
gfx_display_t *p_disp,
|
gfx_display_t *p_disp,
|
||||||
materialui_font_data_t *font_data,
|
font_data_impl_t *font_data,
|
||||||
int font_size,
|
int font_size,
|
||||||
bool video_is_threaded,
|
bool video_is_threaded,
|
||||||
const char *str_latin
|
const char *str_latin
|
||||||
|
|
|
@ -333,19 +333,6 @@ enum ozone_pending_thumbnail_type
|
||||||
OZONE_PENDING_THUMBNAIL_BOTH
|
OZONE_PENDING_THUMBNAIL_BOTH
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This structure holds all objects + metadata
|
|
||||||
* corresponding to a particular font */
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
font_data_t *font;
|
|
||||||
video_font_raster_block_t raster_block; /* ptr alignment */
|
|
||||||
unsigned glyph_width;
|
|
||||||
unsigned wideglyph_width;
|
|
||||||
int line_height;
|
|
||||||
int line_ascender;
|
|
||||||
int line_centre_offset;
|
|
||||||
} ozone_font_data_t;
|
|
||||||
|
|
||||||
/* Container for a footer text label */
|
/* Container for a footer text label */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -474,12 +461,12 @@ struct ozone_handle
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ozone_font_data_t footer;
|
font_data_impl_t footer;
|
||||||
ozone_font_data_t title;
|
font_data_impl_t title;
|
||||||
ozone_font_data_t time;
|
font_data_impl_t time;
|
||||||
ozone_font_data_t entries_label;
|
font_data_impl_t entries_label;
|
||||||
ozone_font_data_t entries_sublabel;
|
font_data_impl_t entries_sublabel;
|
||||||
ozone_font_data_t sidebar;
|
font_data_impl_t sidebar;
|
||||||
} fonts;
|
} fonts;
|
||||||
|
|
||||||
void (*word_wrap)(
|
void (*word_wrap)(
|
||||||
|
@ -2836,19 +2823,6 @@ static float ozone_sidebar_get_scroll_y(
|
||||||
return scroll_y;
|
return scroll_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Flushing is slow - only do it if font has actually been used */
|
|
||||||
static void ozone_font_flush(
|
|
||||||
unsigned video_width,
|
|
||||||
unsigned video_height,
|
|
||||||
ozone_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
if (font_data->raster_block.carr.coords.vertices == 0)
|
|
||||||
return;
|
|
||||||
if (font_data->font && font_data->font->renderer && font_data->font->renderer->flush)
|
|
||||||
font_data->font->renderer->flush(video_width, video_height, font_data->font->renderer_data);
|
|
||||||
font_data->raster_block.carr.coords.vertices = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ozone_draw_icon(
|
static void ozone_draw_icon(
|
||||||
gfx_display_t *p_disp,
|
gfx_display_t *p_disp,
|
||||||
void *userdata,
|
void *userdata,
|
||||||
|
@ -3573,7 +3547,7 @@ console_iterate:
|
||||||
dispctx->blend_end(userdata);
|
dispctx->blend_end(userdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.sidebar);
|
font_flush(video_width, video_height, &ozone->fonts.sidebar);
|
||||||
|
|
||||||
if (dispctx && dispctx->scissor_end)
|
if (dispctx && dispctx->scissor_end)
|
||||||
dispctx->scissor_end(userdata, video_width, video_height);
|
dispctx->scissor_end(userdata, video_width, video_height);
|
||||||
|
@ -6068,10 +6042,10 @@ border_iterate:
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text layer */
|
/* Text layer */
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
||||||
|
|
||||||
if (menu_show_sublabels)
|
if (menu_show_sublabels)
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.entries_sublabel);
|
font_flush(video_width, video_height, &ozone->fonts.entries_sublabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ozone_draw_thumbnail_bar(
|
static void ozone_draw_thumbnail_bar(
|
||||||
|
@ -8946,7 +8920,7 @@ static void ozone_refresh_thumbnail_image(void *data, unsigned i)
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ozone_init_font(
|
static bool ozone_init_font(
|
||||||
ozone_font_data_t *font_data,
|
font_data_impl_t *font_data,
|
||||||
bool is_threaded,
|
bool is_threaded,
|
||||||
char *font_path,
|
char *font_path,
|
||||||
float font_size)
|
float font_size)
|
||||||
|
@ -9365,7 +9339,7 @@ static void ozone_unload_thumbnail_textures(void *data)
|
||||||
gfx_thumbnail_reset(&ozone->thumbnails.savestate);
|
gfx_thumbnail_reset(&ozone->thumbnails.savestate);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void INLINE ozone_font_free(ozone_font_data_t *font_data)
|
static void INLINE ozone_font_free(font_data_impl_t *font_data)
|
||||||
{
|
{
|
||||||
if (font_data->font)
|
if (font_data->font)
|
||||||
font_driver_free(font_data->font);
|
font_driver_free(font_data->font);
|
||||||
|
@ -11335,17 +11309,6 @@ static void ozone_messagebox_fadeout_cb(void *userdata)
|
||||||
ozone->flags &= ~OZONE_FLAG_SHOULD_DRAW_MSGBOX;
|
ozone->flags &= ~OZONE_FLAG_SHOULD_DRAW_MSGBOX;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void INLINE ozone_font_bind(ozone_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
font_driver_bind_block(font_data->font, &font_data->raster_block);
|
|
||||||
font_data->raster_block.carr.coords.vertices = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void INLINE ozone_font_unbind(ozone_font_data_t *font_data)
|
|
||||||
{
|
|
||||||
font_driver_bind_block(font_data->font, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ozone_frame(void *data, video_frame_info_t *video_info)
|
static void ozone_frame(void *data, video_frame_info_t *video_info)
|
||||||
{
|
{
|
||||||
math_matrix_4x4 mymat;
|
math_matrix_4x4 mymat;
|
||||||
|
@ -11484,12 +11447,12 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
||||||
video_st->data, video_width, video_height, true, false);
|
video_st->data, video_width, video_height, true, false);
|
||||||
|
|
||||||
/* Clear text */
|
/* Clear text */
|
||||||
ozone_font_bind(&ozone->fonts.footer);
|
font_bind(&ozone->fonts.footer);
|
||||||
ozone_font_bind(&ozone->fonts.title);
|
font_bind(&ozone->fonts.title);
|
||||||
ozone_font_bind(&ozone->fonts.time);
|
font_bind(&ozone->fonts.time);
|
||||||
ozone_font_bind(&ozone->fonts.entries_label);
|
font_bind(&ozone->fonts.entries_label);
|
||||||
ozone_font_bind(&ozone->fonts.entries_sublabel);
|
font_bind(&ozone->fonts.entries_sublabel);
|
||||||
ozone_font_bind(&ozone->fonts.sidebar);
|
font_bind(&ozone->fonts.sidebar);
|
||||||
|
|
||||||
/* Background (Always use running background due to overlays) */
|
/* Background (Always use running background due to overlays) */
|
||||||
if (menu_framebuffer_opacity < 1.0f)
|
if (menu_framebuffer_opacity < 1.0f)
|
||||||
|
@ -11624,12 +11587,12 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
||||||
dispctx->scissor_end(userdata, video_width, video_height);
|
dispctx->scissor_end(userdata, video_width, video_height);
|
||||||
|
|
||||||
/* Flush first layer of text */
|
/* Flush first layer of text */
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.footer);
|
font_flush(video_width, video_height, &ozone->fonts.footer);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.title);
|
font_flush(video_width, video_height, &ozone->fonts.title);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.time);
|
font_flush(video_width, video_height, &ozone->fonts.time);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.entries_sublabel);
|
font_flush(video_width, video_height, &ozone->fonts.entries_sublabel);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.sidebar);
|
font_flush(video_width, video_height, &ozone->fonts.sidebar);
|
||||||
|
|
||||||
/* Draw fullscreen thumbnails, if required */
|
/* Draw fullscreen thumbnails, if required */
|
||||||
ozone_draw_fullscreen_thumbnails(ozone,
|
ozone_draw_fullscreen_thumbnails(ozone,
|
||||||
|
@ -11718,8 +11681,8 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
||||||
&mymat);
|
&mymat);
|
||||||
|
|
||||||
/* Flush second layer of text */
|
/* Flush second layer of text */
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.footer);
|
font_flush(video_width, video_height, &ozone->fonts.footer);
|
||||||
ozone_font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
font_flush(video_width, video_height, &ozone->fonts.entries_label);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cursor */
|
/* Cursor */
|
||||||
|
@ -11745,12 +11708,12 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unbind fonts */
|
/* Unbind fonts */
|
||||||
ozone_font_unbind(&ozone->fonts.footer);
|
font_unbind(&ozone->fonts.footer);
|
||||||
ozone_font_unbind(&ozone->fonts.title);
|
font_unbind(&ozone->fonts.title);
|
||||||
ozone_font_unbind(&ozone->fonts.time);
|
font_unbind(&ozone->fonts.time);
|
||||||
ozone_font_unbind(&ozone->fonts.entries_label);
|
font_unbind(&ozone->fonts.entries_label);
|
||||||
ozone_font_unbind(&ozone->fonts.entries_sublabel);
|
font_unbind(&ozone->fonts.entries_sublabel);
|
||||||
ozone_font_unbind(&ozone->fonts.sidebar);
|
font_unbind(&ozone->fonts.sidebar);
|
||||||
|
|
||||||
if (video_st->current_video && video_st->current_video->set_viewport)
|
if (video_st->current_video && video_st->current_video->set_viewport)
|
||||||
video_st->current_video->set_viewport(
|
video_st->current_video->set_viewport(
|
||||||
|
|
Loading…
Reference in New Issue