@@ -683,36 +683,37 @@ def draw(self, renderer):
683683 renderer = PathEffectRenderer (self .get_path_effects (), renderer )
684684
685685 renderer .open_group ('line2d' , self .get_gid ())
686- gc = renderer .new_gc ()
687- self ._set_gc_clip (gc )
688-
689- ln_color_rgba = self ._get_rgba_ln_color ()
690- gc .set_foreground (ln_color_rgba , isRGBA = True )
691- gc .set_alpha (ln_color_rgba [3 ])
692-
693- gc .set_antialiased (self ._antialiased )
694- gc .set_linewidth (self ._linewidth )
695-
696- if self .is_dashed ():
697- cap = self ._dashcapstyle
698- join = self ._dashjoinstyle
699- else :
700- cap = self ._solidcapstyle
701- join = self ._solidjoinstyle
702- gc .set_joinstyle (join )
703- gc .set_capstyle (cap )
704- gc .set_snap (self .get_snap ())
705- if self .get_sketch_params () is not None :
706- gc .set_sketch_params (* self .get_sketch_params ())
707-
708686 funcname = self ._lineStyles .get (self ._linestyle , '_draw_nothing' )
709687 if funcname != '_draw_nothing' :
710688 tpath , affine = transf_path .get_transformed_path_and_affine ()
711689 if len (tpath .vertices ):
712690 self ._lineFunc = getattr (self , funcname )
713691 funcname = self .drawStyles .get (self ._drawstyle , '_draw_lines' )
714692 drawFunc = getattr (self , funcname )
693+ gc = renderer .new_gc ()
694+ self ._set_gc_clip (gc )
695+
696+ ln_color_rgba = self ._get_rgba_ln_color ()
697+ gc .set_foreground (ln_color_rgba , isRGBA = True )
698+ gc .set_alpha (ln_color_rgba [3 ])
699+
700+ gc .set_antialiased (self ._antialiased )
701+ gc .set_linewidth (self ._linewidth )
702+
703+ if self .is_dashed ():
704+ cap = self ._dashcapstyle
705+ join = self ._dashjoinstyle
706+ else :
707+ cap = self ._solidcapstyle
708+ join = self ._solidjoinstyle
709+ gc .set_joinstyle (join )
710+ gc .set_capstyle (cap )
711+ gc .set_snap (self .get_snap ())
712+ if self .get_sketch_params () is not None :
713+ gc .set_sketch_params (* self .get_sketch_params ())
714+
715715 drawFunc (renderer , gc , tpath , affine .frozen ())
716+ gc .restore ()
716717
717718 if self ._marker :
718719 gc = renderer .new_gc ()
@@ -772,7 +773,6 @@ def draw(self, renderer):
772773
773774 gc .restore ()
774775
775- gc .restore ()
776776 renderer .close_group ('line2d' )
777777
778778 def get_antialiased (self ):
0 commit comments