[gnome-games/wip/theawless/simplify-thumbnail: 76/77] game-thumbnail: Simplify drawing emblem
- From: Abhinav Singh <abhinavsingh src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/theawless/simplify-thumbnail: 76/77] game-thumbnail: Simplify drawing emblem
- Date: Sun, 2 Dec 2018 10:16:37 +0000 (UTC)
commit ab9327928cab7eaa1816130534f9829375f6c4fe
Author: theawless <theawless gmail com>
Date: Tue Oct 2 17:10:13 2018 +0530
game-thumbnail: Simplify drawing emblem
This reuses the draw_pixbuf function.
src/ui/game-thumbnail.vala | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
---
diff --git a/src/ui/game-thumbnail.vala b/src/ui/game-thumbnail.vala
index 759cbc16..76094e47 100644
--- a/src/ui/game-thumbnail.vala
+++ b/src/ui/game-thumbnail.vala
@@ -107,7 +107,7 @@ private class Games.GameThumbnail: Gtk.DrawingArea {
// Draw the default thumbnail if no thumbnail have been drawn
if (!drawn)
- draw_default (context);
+ draw_emblem (context);
return true;
}
@@ -140,40 +140,33 @@ private class Games.GameThumbnail: Gtk.DrawingArea {
return true;
}
- public void draw_default (DrawingContext context) {
+ public void draw_emblem (DrawingContext context) {
+ var pixbuf = get_emblem (context);
+ if (pixbuf == null)
+ return;
+
draw_background (context);
- draw_emblem_icon (context, "applications-games-symbolic", EMBLEM_SCALE);
+ draw_pixbuf (context, pixbuf);
draw_border (context);
}
- private void draw_emblem_icon (DrawingContext context, string icon_name, double scale) {
- Gdk.Pixbuf? emblem = null;
-
+ private Gdk.Pixbuf? get_emblem (DrawingContext context) {
var color = context.style.get_color (context.state);
-
var theme = Gtk.IconTheme.get_default ();
- var size = int.min (context.width, context.height) * scale;
- var icon_info = theme.lookup_icon (icon_name, (int) size, Gtk.IconLookupFlags.FORCE_SIZE);
+ var size = int.min (context.width, context.height) * EMBLEM_SCALE;
+ var icon_info = theme.lookup_icon ("applications-games-symbolic", (int) size,
+ Gtk.IconLookupFlags.FORCE_SIZE);
if (icon_info == null) {
warning ("Couldn't find the emblem");
- return;
+ return null;
}
try {
- emblem = icon_info.load_symbolic (color);
+ return icon_info.load_symbolic (color);
} catch (Error e) {
warning (@"Couldn’t load the emblem: $(e.message)");
- return;
+ return null;
}
-
- if (emblem == null)
- return;
-
- double offset_x = context.width / 2.0 - emblem.width / 2.0;
- double offset_y = context.height / 2.0 - emblem.height / 2.0;
-
- Gdk.cairo_set_source_pixbuf (context.cr, emblem, offset_x, offset_y);
- context.cr.paint ();
}
private Gdk.Pixbuf? get_icon_cache (int width, int height) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]