Revision: 6689
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6689&view=rev
Author:   leejjoon
Date:     2008-12-21 04:07:26 +0000 (Sun, 21 Dec 2008)

Log Message:
-----------
fix dpi dependent offset of Shadow

Modified Paths:
--------------
    branches/v0_98_5_maint/CHANGELOG
    branches/v0_98_5_maint/lib/matplotlib/patches.py

Modified: branches/v0_98_5_maint/CHANGELOG
===================================================================
--- branches/v0_98_5_maint/CHANGELOG    2008-12-21 03:46:05 UTC (rev 6688)
+++ branches/v0_98_5_maint/CHANGELOG    2008-12-21 04:07:26 UTC (rev 6689)
@@ -1,3 +1,5 @@
+2008-12-20 fix the dpi-dependent offset of Shadow. - JJL
+
 2008-12-20 fix the hatch bug in the pdf backend. minor update
            in docs and  example - JJL
 

Modified: branches/v0_98_5_maint/lib/matplotlib/patches.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/patches.py    2008-12-21 03:46:05 UTC 
(rev 6688)
+++ branches/v0_98_5_maint/lib/matplotlib/patches.py    2008-12-21 04:07:26 UTC 
(rev 6689)
@@ -372,7 +372,7 @@
         self.patch = patch
         self.props = props
         self._ox, self._oy = ox, oy
-        self._update_transform()
+        self._shadow_transform = transforms.Affine2D()
         self._update()
     __init__.__doc__ = cbook.dedent(__init__.__doc__) % artist.kwdocd
 
@@ -390,20 +390,20 @@
             self.set_facecolor((r,g,b,0.5))
             self.set_edgecolor((r,g,b,0.5))
 
-    def _update_transform(self):
-        self._shadow_transform = transforms.Affine2D().translate(self._ox, 
self._oy)
+    def _update_transform(self, renderer):
+        ox = renderer.points_to_pixels(self._ox)
+        oy = renderer.points_to_pixels(self._oy)
+        self._shadow_transform.clear().translate(ox, oy)
 
     def _get_ox(self):
         return self._ox
     def _set_ox(self, ox):
         self._ox = ox
-        self._update_transform()
 
     def _get_oy(self):
         return self._oy
     def _set_oy(self, oy):
         self._oy = oy
-        self._update_transform()
 
     def get_path(self):
         return self.patch.get_path()
@@ -411,6 +411,10 @@
     def get_patch_transform(self):
         return self.patch.get_patch_transform() + self._shadow_transform
 
+    def draw(self, renderer):
+        self._update_transform(renderer)
+        Patch.draw(self, renderer)
+
 class Rectangle(Patch):
     """
     Draw a rectangle with lower left at *xy* = (*x*, *y*) with


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to