From bde73504f6a54c600b64460ecef479488d512758 Mon Sep 17 00:00:00 2001 From: Michiel de Hoon Date: Sat, 18 Apr 2015 02:39:13 +0900 Subject: [PATCH] Reorder the code in the draw() method of Line2D to fix issue 4338 --- lib/matplotlib/lines.py | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index f45008686f32..9a9dd1c241c0 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -685,28 +685,6 @@ def draw(self, renderer): renderer = PathEffectRenderer(self.get_path_effects(), renderer) renderer.open_group('line2d', self.get_gid()) - gc = renderer.new_gc() - self._set_gc_clip(gc) - - ln_color_rgba = self._get_rgba_ln_color() - gc.set_foreground(ln_color_rgba, isRGBA=True) - gc.set_alpha(ln_color_rgba[3]) - - gc.set_antialiased(self._antialiased) - gc.set_linewidth(self._linewidth) - - if self.is_dashed(): - cap = self._dashcapstyle - join = self._dashjoinstyle - else: - cap = self._solidcapstyle - join = self._solidjoinstyle - gc.set_joinstyle(join) - gc.set_capstyle(cap) - gc.set_snap(self.get_snap()) - if self.get_sketch_params() is not None: - gc.set_sketch_params(*self.get_sketch_params()) - funcname = self._lineStyles.get(self._linestyle, '_draw_nothing') if funcname != '_draw_nothing': tpath, affine = transf_path.get_transformed_path_and_affine() @@ -714,7 +692,30 @@ def draw(self, renderer): self._lineFunc = getattr(self, funcname) funcname = self.drawStyles.get(self._drawstyle, '_draw_lines') drawFunc = getattr(self, funcname) + gc = renderer.new_gc() + self._set_gc_clip(gc) + + ln_color_rgba = self._get_rgba_ln_color() + gc.set_foreground(ln_color_rgba, isRGBA=True) + gc.set_alpha(ln_color_rgba[3]) + + gc.set_antialiased(self._antialiased) + gc.set_linewidth(self._linewidth) + + if self.is_dashed(): + cap = self._dashcapstyle + join = self._dashjoinstyle + else: + cap = self._solidcapstyle + join = self._solidjoinstyle + gc.set_joinstyle(join) + gc.set_capstyle(cap) + gc.set_snap(self.get_snap()) + if self.get_sketch_params() is not None: + gc.set_sketch_params(*self.get_sketch_params()) + drawFunc(renderer, gc, tpath, affine.frozen()) + gc.restore() if self._marker: gc = renderer.new_gc() @@ -774,7 +775,6 @@ def draw(self, renderer): gc.restore() - gc.restore() renderer.close_group('line2d') def get_antialiased(self): pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy