[meld] gutterrendererchunk: Re-paint icons for prelit gutter renderers



commit 04bd8cbaebf5d7627d1117b0670fbc8bd0a61a61
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun Oct 16 08:34:46 2016 +1000

    gutterrendererchunk: Re-paint icons for prelit gutter renderers
    
    This works around the breakage caused by recent changes to make the
    GtkSourceView parent class draw the background. Now, we re-draw the
    icon if we're also drawing anything else. In this instance, that's
    just the button background and frame.

 meld/gutterrendererchunk.py |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/meld/gutterrendererchunk.py b/meld/gutterrendererchunk.py
index b8bebbf..c0a66ea 100644
--- a/meld/gutterrendererchunk.py
+++ b/meld/gutterrendererchunk.py
@@ -226,6 +226,8 @@ class GutterRendererChunkAction(
         self.views_editable = [v.get_editable() for v in self.views]
 
     def do_draw(self, context, background_area, cell_area, start, end, state):
+        GtkSource.GutterRendererPixbuf.do_draw(
+            self, context, background_area, cell_area, start, end, state)
         if self.is_action:
             stylecontext = self.props.view.get_style_context()
             stylecontext.save()
@@ -245,10 +247,16 @@ class GutterRendererChunkAction(
             Gtk.render_frame(
                 stylecontext, context, button_area.x, button_area.y,
                 button_area.width, button_area.height)
+
+            pixbuf = self.props.pixbuf
+            pix_width, pix_height = pixbuf.props.width, pixbuf.props.height
+            Gtk.render_icon(
+                stylecontext, context, pixbuf,
+                button_area.x + (button_area.width - pix_width) // 2,
+                button_area.y + (button_area.height - pix_height) // 2)
+
             stylecontext.restore()
 
-        GtkSource.GutterRendererPixbuf.do_draw(
-            self, context, background_area, cell_area, start, end, state)
         self.draw_chunks(
             context, background_area, cell_area, start, end, state)
 


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