diff options
author | rbuj <[email protected]> | 2020-08-03 16:56:50 +0200 |
---|---|---|
committer | Luke from DC <[email protected]> | 2020-08-05 06:48:04 +0000 |
commit | fc480d2c5381161a58b67aefe281f94300f0dbc0 (patch) | |
tree | 3fd11b36ef46696cb52e441fcaf9a6b2c86b9fc4 /applets/clock | |
parent | 1c72cac05bf6c42cd6aa0832e398254a5107f5b8 (diff) | |
download | mate-panel-fc480d2c5381161a58b67aefe281f94300f0dbc0.tar.bz2 mate-panel-fc480d2c5381161a58b67aefe281f94300f0dbc0.tar.xz |
clock-face: Use gdk_pixbuf_new_from_resource_at_scale
Diffstat (limited to 'applets/clock')
-rw-r--r-- | applets/clock/clock-face.c | 6 | ||||
-rw-r--r-- | applets/clock/clock-utils.c | 52 | ||||
-rw-r--r-- | applets/clock/clock-utils.h | 4 |
3 files changed, 2 insertions, 60 deletions
diff --git a/applets/clock/clock-face.c b/applets/clock/clock-face.c index 30cf16ac..a30afd13 100644 --- a/applets/clock/clock-face.c +++ b/applets/clock/clock-face.c @@ -438,16 +438,14 @@ clock_face_load_face (ClockFace *this, gint width, gint height) "clock-face-", size_string[priv->size], "-", daytime_string[priv->timeofday], ".svg", NULL); - priv->face_pixbuf = clock_utils_pixbuf_from_svg_resource_at_size (name, - width, height); + priv->face_pixbuf = gdk_pixbuf_new_from_resource_at_scale (name, width, height, TRUE, NULL); g_free (name); if (!priv->face_pixbuf) { name = g_strconcat (CLOCK_RESOURCE_PATH "icons/", "clock-face-", size_string[priv->size], ".svg", NULL); - priv->face_pixbuf = clock_utils_pixbuf_from_svg_resource_at_size (name, - width, height); + priv->face_pixbuf = gdk_pixbuf_new_from_resource_at_scale (name, width, height, TRUE, NULL); g_free (name); } diff --git a/applets/clock/clock-utils.c b/applets/clock/clock-utils.c index 4f11a7f5..ee8f70d6 100644 --- a/applets/clock/clock-utils.c +++ b/applets/clock/clock-utils.c @@ -34,8 +34,6 @@ #include <gtk/gtk.h> -#include <librsvg/rsvg.h> - #include "clock.h" #include "clock-utils.h" @@ -126,53 +124,3 @@ clock_utils_display_help (GtkWidget *widget, gtk_widget_show (dialog); } } - -GdkPixbuf * -clock_utils_pixbuf_from_svg_resource_at_size (const char *resource, - int width, - int height) -{ - GInputStream *stream = NULL; - RsvgHandle *handle = NULL; - RsvgDimensionData svg_dimensions; - GdkPixbuf *pixbuf = NULL; - cairo_surface_t *surface = NULL; - cairo_matrix_t matrix; - cairo_t *cr = NULL; - - stream = g_resources_open_stream (resource, 0, NULL); - if (!stream) - goto out; - - handle = rsvg_handle_new (); - if (!handle) - goto out; - - if (!rsvg_handle_read_stream_sync (handle, stream, NULL, NULL)) - goto out; - - rsvg_handle_get_dimensions (handle, &svg_dimensions); - - surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); - cr = cairo_create (surface); - cairo_matrix_init_scale (&matrix, - ((double) width / svg_dimensions.width), - ((double) height / svg_dimensions.height)); - cairo_transform (cr, &matrix); - rsvg_handle_render_cairo (handle, cr); - cairo_destroy (cr); - - pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, width, height); - cairo_surface_destroy (surface); - -out: - if (handle) { - rsvg_handle_close (handle, NULL); - rsvg_handle_free (handle); - } - if (stream) - g_object_unref (stream); - - return pixbuf; -} - diff --git a/applets/clock/clock-utils.h b/applets/clock/clock-utils.h index 2ba0ef79..da54094f 100644 --- a/applets/clock/clock-utils.h +++ b/applets/clock/clock-utils.h @@ -50,10 +50,6 @@ void clock_utils_display_help (GtkWidget *widget, const char *doc_id, const char *link_id); -GdkPixbuf *clock_utils_pixbuf_from_svg_resource_at_size (const char *resource, - int width, - int height); - #ifdef __cplusplus } #endif |