@@ -685,36 +685,37 @@ def draw(self, renderer):
685685 renderer = PathEffectRenderer (self .get_path_effects (), renderer )
686686
687687 renderer .open_group ('line2d' , self .get_gid ())
688- gc = renderer .new_gc ()
689- self ._set_gc_clip (gc )
690-
691- ln_color_rgba = self ._get_rgba_ln_color ()
692- gc .set_foreground (ln_color_rgba , isRGBA = True )
693- gc .set_alpha (ln_color_rgba [3 ])
694-
695- gc .set_antialiased (self ._antialiased )
696- gc .set_linewidth (self ._linewidth )
697-
698- if self .is_dashed ():
699- cap = self ._dashcapstyle
700- join = self ._dashjoinstyle
701- else :
702- cap = self ._solidcapstyle
703- join = self ._solidjoinstyle
704- gc .set_joinstyle (join )
705- gc .set_capstyle (cap )
706- gc .set_snap (self .get_snap ())
707- if self .get_sketch_params () is not None :
708- gc .set_sketch_params (* self .get_sketch_params ())
709-
710688 funcname = self ._lineStyles .get (self ._linestyle , '_draw_nothing' )
711689 if funcname != '_draw_nothing' :
712690 tpath , affine = transf_path .get_transformed_path_and_affine ()
713691 if len (tpath .vertices ):
714692 self ._lineFunc = getattr (self , funcname )
715693 funcname = self .drawStyles .get (self ._drawstyle , '_draw_lines' )
716694 drawFunc = getattr (self , funcname )
695+ gc = renderer .new_gc ()
696+ self ._set_gc_clip (gc )
697+
698+ ln_color_rgba = self ._get_rgba_ln_color ()
699+ gc .set_foreground (ln_color_rgba , isRGBA = True )
700+ gc .set_alpha (ln_color_rgba [3 ])
701+
702+ gc .set_antialiased (self ._antialiased )
703+ gc .set_linewidth (self ._linewidth )
704+
705+ if self .is_dashed ():
706+ cap = self ._dashcapstyle
707+ join = self ._dashjoinstyle
708+ else :
709+ cap = self ._solidcapstyle
710+ join = self ._solidjoinstyle
711+ gc .set_joinstyle (join )
712+ gc .set_capstyle (cap )
713+ gc .set_snap (self .get_snap ())
714+ if self .get_sketch_params () is not None :
715+ gc .set_sketch_params (* self .get_sketch_params ())
716+
717717 drawFunc (renderer , gc , tpath , affine .frozen ())
718+ gc .restore ()
718719
719720 if self ._marker :
720721 gc = renderer .new_gc ()
@@ -774,7 +775,6 @@ def draw(self, renderer):
774775
775776 gc .restore ()
776777
777- gc .restore ()
778778 renderer .close_group ('line2d' )
779779
780780 def get_antialiased (self ):
0 commit comments