[gnome-calendar] event-widget: simplify rendering code



commit 21aa8ecde4c7c19fd8e0057cecb71a2f964ce05d
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Feb 18 02:39:05 2016 -0200

    event-widget: simplify rendering code

 src/gcal-event-widget.c |   28 ++++++++++------------------
 1 files changed, 10 insertions(+), 18 deletions(-)
---
diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c
index 5462b36..36ab9f9 100644
--- a/src/gcal-event-widget.c
+++ b/src/gcal-event-widget.c
@@ -29,10 +29,10 @@ struct _GcalEventWidget
   /* properties */
   GDateTime     *dt_start;
   GDateTime     *dt_end;
-  gboolean       has_reminders;
 
   /* internal data */
-  gboolean       read_only;
+  gboolean       has_reminders : 1;
+  gboolean       read_only : 1;
   gchar         *css_class;
 
   GcalEvent     *event;
@@ -453,11 +453,13 @@ gcal_event_widget_draw (GtkWidget *widget,
   pango_layout_set_width (layout, (width - (padding.left + padding.right) ) * PANGO_SCALE);
   pango_cairo_update_layout (cr, layout);
 
+  /* Icon size */
+  pango_layout_get_pixel_size (layout, NULL, &layout_height);
+  icon_size = 4 * (layout_height / 4);
+
   left_gap = 0;
   if (self->has_reminders)
     {
-      pango_layout_get_pixel_size (layout, NULL, &layout_height);
-      icon_size = layout_height;
       left_gap = icon_size + padding.left;
       pango_layout_set_width (layout, (width - (left_gap + padding.left + padding.right) ) * PANGO_SCALE);
     }
@@ -465,12 +467,6 @@ gcal_event_widget_draw (GtkWidget *widget,
   right_gap = 0;
   if (self->read_only)
     {
-      if (icon_size == 0)
-        {
-          pango_layout_get_pixel_size (layout, NULL, &layout_height);
-          icon_size = layout_height;
-        }
-
       right_gap = icon_size + padding.right;
       pango_layout_set_width (layout, (width - (left_gap + padding.left + padding.right + right_gap) ) * 
PANGO_SCALE);
     }
@@ -484,20 +480,18 @@ gcal_event_widget_draw (GtkWidget *widget,
       GtkIconInfo *icon_info;
       GdkPixbuf *pixbuf;
       gboolean was_symbolic;
-      gint multiplier;
 
-      multiplier = icon_size / 16;
       icon_theme = gtk_icon_theme_get_default ();
       icon_info = gtk_icon_theme_lookup_icon (icon_theme,
                                               "alarm-symbolic",
-                                              16 * multiplier,
+                                              icon_size,
                                               0);
       pixbuf = gtk_icon_info_load_symbolic_for_context (icon_info,
                                                         context,
                                                         &was_symbolic,
                                                         NULL);
 
-      gdk_cairo_set_source_pixbuf (cr, pixbuf, padding.left, padding.top + ((icon_size - (16 * multiplier)) 
/ 2));
+      gdk_cairo_set_source_pixbuf (cr, pixbuf, padding.left, padding.top);
       g_object_unref (pixbuf);
       cairo_paint (cr);
     }
@@ -509,20 +503,18 @@ gcal_event_widget_draw (GtkWidget *widget,
       GtkIconInfo *icon_info;
       GdkPixbuf *pixbuf;
       gboolean was_symbolic;
-      gint multiplier;
 
-      multiplier = icon_size / 16;
       icon_theme = gtk_icon_theme_get_default ();
       icon_info = gtk_icon_theme_lookup_icon (icon_theme,
                                               "changes-prevent-symbolic",
-                                              16 * multiplier,
+                                              icon_size,
                                               0);
       pixbuf = gtk_icon_info_load_symbolic_for_context (icon_info,
                                                         context,
                                                         &was_symbolic,
                                                         NULL);
 
-      gdk_cairo_set_source_pixbuf (cr, pixbuf, width - right_gap, padding.top + ((icon_size - (16 * 
multiplier)) / 2));
+      gdk_cairo_set_source_pixbuf (cr, pixbuf, width - right_gap, padding.top);
       g_object_unref (pixbuf);
       cairo_paint (cr);
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]