@@ -873,9 +873,6 @@ def __init__(self, screen, image):
873873 self ._transformMatrix = [[1 , 0 , 0 ], [0 , 1 , 0 ], [0 , 0 , 1 ]]
874874 self ._item = screen ._createimage (self ._transformedImage )
875875
876- def clone (self , * args , ** kwargs ):
877- return self .__class__ (self ._screen , self ._originalImage , * args , ** kwargs )
878-
879876 def _transform_coordinates (self , x , y ):
880877 m = self ._transformMatrix
881878 return (m [0 ][0 ] * x + m [0 ][1 ] * y + m [0 ][2 ],
@@ -1010,6 +1007,11 @@ def draw(self, position, orientation, tilt):
10101007 self ._currentTilt = tilt
10111008 self ._screen ._drawimage (self ._item , position , self ._transformedImage )
10121009
1010+ def stamp (self , position , orientation , tilt ):
1011+ stamp = self .__class__ (self ._screen , self ._originalImage )
1012+ stamp .draw (position , orientation , tilt )
1013+ return stamp
1014+
10131015 def delete (self ):
10141016 self ._screen ._delete (self ._item )
10151017
@@ -3331,8 +3333,7 @@ def stamp(self):
33313333 screen ._drawpoly (item , poly , fill = self ._cc (fc ),
33323334 outline = self ._cc (oc ), width = self ._outlinewidth , top = True )
33333335 elif ttype == "transformable_image" :
3334- stitem = self .turtle ._item .clone ()
3335- stitem .draw (self ._position , self ._orient , self ._tilt )
3336+ stitem = self .turtle ._item .stamp (self ._position , self ._orient , self ._tilt )
33363337 self .stampItems .append (stitem )
33373338 self .undobuffer .push (("stamp" , stitem ))
33383339 return stitem
0 commit comments