[119269] trunk/dports/python/py-graph-tool

mmoll at macports.org mmoll at macports.org
Mon Apr 21 14:48:30 PDT 2014


Revision: 119269
          https://trac.macports.org/changeset/119269
Author:   mmoll at macports.org
Date:     2014-04-21 14:48:30 -0700 (Mon, 21 Apr 2014)
Log Message:
-----------
py-graph-tool: add gtk3 variant to enable interactive drawing. Closes #43423

Modified Paths:
--------------
    trunk/dports/python/py-graph-tool/Portfile

Added Paths:
-----------
    trunk/dports/python/py-graph-tool/files/
    trunk/dports/python/py-graph-tool/files/patch-src-graph_tool-gtk_draw.py.diff

Modified: trunk/dports/python/py-graph-tool/Portfile
===================================================================
--- trunk/dports/python/py-graph-tool/Portfile	2014-04-21 21:46:20 UTC (rev 119268)
+++ trunk/dports/python/py-graph-tool/Portfile	2014-04-21 21:48:30 UTC (rev 119269)
@@ -25,6 +25,8 @@
 checksums           md5     5c2f66d90f77824b924b2b81f5043822 \
                     sha1    5e0b1c215ecd76191a82c745df0fac17e33bfb09 \
                     rmd160  23f52640ab4dfaea1d5b6432a1b5c8293deedbc5
+# patch can be removed in next release
+patchfiles          patch-src-graph_tool-gtk_draw.py.diff
 distname            ${realname}-${version}
 
 if {[string match *clang* ${configure.cxx}] &&
@@ -89,6 +91,11 @@
     destroot.cmd       make
     destroot.destdir   DESTDIR=${destroot}
 
+    variant gtk3 description "Enable interactive drawing with gtk3" {
+        depends_lib-append port:gtk3 \
+                           port:librsvg
+    }
+
     post-destroot {
         file rename ${destroot}${prefix}/share/doc/graph-tool \
             ${destroot}${prefix}/share/doc/py${python.version}-graph-tool

Added: trunk/dports/python/py-graph-tool/files/patch-src-graph_tool-gtk_draw.py.diff
===================================================================
--- trunk/dports/python/py-graph-tool/files/patch-src-graph_tool-gtk_draw.py.diff	                        (rev 0)
+++ trunk/dports/python/py-graph-tool/files/patch-src-graph_tool-gtk_draw.py.diff	2014-04-21 21:48:30 UTC (rev 119269)
@@ -0,0 +1,42 @@
+--- src/graph_tool/draw/gtk_draw.py
++++ src/graph_tool/draw/gtk_draw.py
+@@ -240,6 +240,7 @@ class GraphWidget(Gtk.DrawingArea):
+ 
+         self.geometry = None
+         self.base = None
++        self.base_geometry = None
+         self.background = None
+         self.bg_color = bg_color if bg_color is not None else [1, 1, 1, 1]
+         self.surface_callback = None
+@@ -384,8 +385,8 @@ class GraphWidget(Gtk.DrawingArea):
+                         self.get_allocated_height())
+             self.smatrix = self.smatrix * m
+             self.tmatrix = self.tmatrix * self.smatrix
+-            if (self.base is None or self.base.get_width() != geometry[0] or
+-                self.base.get_height() != geometry[1]):
++            if (self.base is None or self.base_geometry[0] != geometry[0] or
++                self.base_geometry[1] != geometry[1]):
+                 # self.base = cairo.ImageSurface(cairo.FORMAT_ARGB32,
+                 #                                *geometry)
+                 w = self.get_window()
+@@ -393,6 +394,8 @@ class GraphWidget(Gtk.DrawingArea):
+                     return False
+                 self.base = w.create_similar_surface(cairo.CONTENT_COLOR_ALPHA,
+                                                      *geometry)
++                self.base_geometry = geometry
++
+             cr = cairo.Context(self.base)
+             cr.set_source_rgba(*self.bg_color)
+             cr.paint()
+@@ -421,9 +424,8 @@ class GraphWidget(Gtk.DrawingArea):
+             self.geometry = geometry
+ 
+         ul = self.pos_to_device((0, 0), surface=True)
+-        lr = self.pos_to_device((self.base.get_width(),
+-                                 self.base.get_height()),
+-                                surface=True)
++        lr = self.pos_to_device(self.base_geometry, surface=True)
++
+         if (ul[0] > 0 or lr[0] < geometry[0] or
+             ul[1] > 0 or lr[1] < geometry[1]):
+             self.regenerate_surface()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140421/21b0f2c9/attachment-0001.html>


More information about the macports-changes mailing list