get_icon_surface: Add a scale argument

This will allow us to pass the output scale around
This commit is contained in:
Guido Günther
2019-07-11 18:28:07 +02:00
parent 7db33bc92e
commit cd81aeb286
3 changed files with 11 additions and 7 deletions

View File

@ -33,11 +33,11 @@ G_DEFINE_TYPE (EekGtkRenderer, eek_gtk_renderer, EEK_TYPE_RENDERER);
static cairo_surface_t * static cairo_surface_t *
eek_gtk_renderer_real_get_icon_surface (EekRenderer *self, eek_gtk_renderer_real_get_icon_surface (EekRenderer *self,
const gchar *icon_name, const gchar *icon_name,
gint size) gint size,
gint scale)
{ {
GError *error = NULL; GError *error = NULL;
cairo_surface_t *surface; cairo_surface_t *surface;
gint scale = 1;
surface = gtk_icon_theme_load_surface (gtk_icon_theme_get_default (), surface = gtk_icon_theme_load_surface (gtk_icon_theme_get_default (),
icon_name, icon_name,

View File

@ -503,7 +503,8 @@ render_key (EekRenderer *self,
cairo_surface_t *icon_surface = cairo_surface_t *icon_surface =
eek_renderer_get_icon_surface (self, eek_renderer_get_icon_surface (self,
eek_symbol_get_icon_name (symbol), eek_symbol_get_icon_name (symbol),
MIN(bounds.width, bounds.height)); MIN(bounds.width, bounds.height),
1);
if (icon_surface) { if (icon_surface) {
gint width = cairo_image_surface_get_width (icon_surface); gint width = cairo_image_surface_get_width (icon_surface);
gint height = cairo_image_surface_get_height (icon_surface); gint height = cairo_image_surface_get_height (icon_surface);
@ -1071,7 +1072,8 @@ eek_renderer_render_key_outline (EekRenderer *renderer,
cairo_surface_t * cairo_surface_t *
eek_renderer_get_icon_surface (EekRenderer *renderer, eek_renderer_get_icon_surface (EekRenderer *renderer,
const gchar *icon_name, const gchar *icon_name,
gint size) gint size,
gint scale)
{ {
EekRendererClass *klass; EekRendererClass *klass;
@ -1079,7 +1081,7 @@ eek_renderer_get_icon_surface (EekRenderer *renderer,
klass = EEK_RENDERER_GET_CLASS(renderer); klass = EEK_RENDERER_GET_CLASS(renderer);
if (klass->get_icon_surface) if (klass->get_icon_surface)
return klass->get_icon_surface (renderer, icon_name, size); return klass->get_icon_surface (renderer, icon_name, size, scale);
return NULL; return NULL;
} }

View File

@ -58,7 +58,8 @@ struct _EekRendererClass
cairo_surface_t *(* get_icon_surface) (EekRenderer *self, cairo_surface_t *(* get_icon_surface) (EekRenderer *self,
const gchar *icon_name, const gchar *icon_name,
gint size); gint size,
gint scale);
/*< private >*/ /*< private >*/
/* padding */ /* padding */
@ -103,7 +104,8 @@ void eek_renderer_render_key (EekRenderer *renderer,
cairo_surface_t *eek_renderer_get_icon_surface (EekRenderer *renderer, cairo_surface_t *eek_renderer_get_icon_surface (EekRenderer *renderer,
const gchar *icon_name, const gchar *icon_name,
gint size); gint size,
gint scale);
void eek_renderer_render_keyboard (EekRenderer *renderer, void eek_renderer_render_keyboard (EekRenderer *renderer,
cairo_t *cr); cairo_t *cr);