get_icon_surface: Add a scale argument
This will allow us to pass the output scale around
This commit is contained in:
		@ -33,11 +33,11 @@ G_DEFINE_TYPE (EekGtkRenderer, eek_gtk_renderer, EEK_TYPE_RENDERER);
 | 
			
		||||
static cairo_surface_t *
 | 
			
		||||
eek_gtk_renderer_real_get_icon_surface (EekRenderer *self,
 | 
			
		||||
                                        const gchar *icon_name,
 | 
			
		||||
                                        gint size)
 | 
			
		||||
                                        gint size,
 | 
			
		||||
                                        gint scale)
 | 
			
		||||
{
 | 
			
		||||
    GError *error = NULL;
 | 
			
		||||
    cairo_surface_t *surface;
 | 
			
		||||
    gint scale = 1;
 | 
			
		||||
 | 
			
		||||
    surface = gtk_icon_theme_load_surface (gtk_icon_theme_get_default (),
 | 
			
		||||
                                           icon_name,
 | 
			
		||||
 | 
			
		||||
@ -503,7 +503,8 @@ render_key (EekRenderer *self,
 | 
			
		||||
        cairo_surface_t *icon_surface =
 | 
			
		||||
            eek_renderer_get_icon_surface (self,
 | 
			
		||||
                                           eek_symbol_get_icon_name (symbol),
 | 
			
		||||
                                           MIN(bounds.width, bounds.height));
 | 
			
		||||
                                           MIN(bounds.width, bounds.height),
 | 
			
		||||
                                           1);
 | 
			
		||||
        if (icon_surface) {
 | 
			
		||||
            gint width = cairo_image_surface_get_width (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 *
 | 
			
		||||
eek_renderer_get_icon_surface (EekRenderer *renderer,
 | 
			
		||||
                               const gchar *icon_name,
 | 
			
		||||
                               gint size)
 | 
			
		||||
                               gint size,
 | 
			
		||||
                               gint scale)
 | 
			
		||||
{
 | 
			
		||||
    EekRendererClass *klass;
 | 
			
		||||
 | 
			
		||||
@ -1079,7 +1081,7 @@ eek_renderer_get_icon_surface (EekRenderer *renderer,
 | 
			
		||||
 | 
			
		||||
    klass = EEK_RENDERER_GET_CLASS(renderer);
 | 
			
		||||
    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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -58,7 +58,8 @@ struct _EekRendererClass
 | 
			
		||||
 | 
			
		||||
    cairo_surface_t *(* get_icon_surface)   (EekRenderer *self,
 | 
			
		||||
                                             const gchar *icon_name,
 | 
			
		||||
                                             gint         size);
 | 
			
		||||
                                             gint         size,
 | 
			
		||||
                                             gint         scale);
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
@ -103,7 +104,8 @@ void             eek_renderer_render_key       (EekRenderer     *renderer,
 | 
			
		||||
 | 
			
		||||
cairo_surface_t *eek_renderer_get_icon_surface (EekRenderer     *renderer,
 | 
			
		||||
                                                const gchar     *icon_name,
 | 
			
		||||
                                                gint             size);
 | 
			
		||||
                                                gint             size,
 | 
			
		||||
                                                gint             scale);
 | 
			
		||||
 | 
			
		||||
void             eek_renderer_render_keyboard  (EekRenderer     *renderer,
 | 
			
		||||
                                                cairo_t         *cr);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user