[Python-checkins] r50553 - in python/trunk: Doc/lib/libturtle.tex Lib/lib-tk/turtle.py Misc/NEWS

martin.v.loewis python-checkins at python.org
Tue Jul 11 00:11:28 CEST 2006


Author: martin.v.loewis
Date: Tue Jul 11 00:11:28 2006
New Revision: 50553

Modified:
   python/trunk/Doc/lib/libturtle.tex
   python/trunk/Lib/lib-tk/turtle.py
   python/trunk/Misc/NEWS
Log:
Patch #1519566: Remove unused _tofill member.
Make begin_fill idempotent.
Update demo2 to demonstrate filling of concave shapes.


Modified: python/trunk/Doc/lib/libturtle.tex
==============================================================================
--- python/trunk/Doc/lib/libturtle.tex	(original)
+++ python/trunk/Doc/lib/libturtle.tex	Tue Jul 11 00:11:28 2006
@@ -108,7 +108,9 @@
 \end{funcdesc}
 
 \begin{funcdesc}{begin\_fill}{}
-Switch turtle into filling mode; equivalent to \code{fill(1)}.
+Switch turtle into filling mode; 
+Must eventually be followed by a corresponding end_fill() call.
+Otherwise it will be ignored.
 \versionadded{2.5}
 \end{funcdesc}
 

Modified: python/trunk/Lib/lib-tk/turtle.py
==============================================================================
--- python/trunk/Lib/lib-tk/turtle.py	(original)
+++ python/trunk/Lib/lib-tk/turtle.py	Tue Jul 11 00:11:28 2006
@@ -86,7 +86,6 @@
         self._color = "black"
         self._filling = 0
         self._path = []
-        self._tofill = []
         self.clear()
         canvas._root().tkraise()
 
@@ -306,19 +305,15 @@
                                             {'fill': self._color,
                                              'smooth': smooth})
                 self._items.append(item)
-                if self._tofill:
-                    for item in self._tofill:
-                        self._canvas.itemconfigure(item, fill=self._color)
-                        self._items.append(item)
         self._path = []
-        self._tofill = []
         self._filling = flag
         if flag:
             self._path.append(self._position)
-        self.forward(0)
 
     def begin_fill(self):
         """ Called just before drawing a shape to be filled.
+            Must eventually be followed by a corresponding end_fill() call.
+            Otherwise it will be ignored.
 
         Example:
         >>> turtle.begin_fill()
@@ -331,7 +326,8 @@
         >>> turtle.forward(100)
         >>> turtle.end_fill()
         """
-        self.fill(1)
+        self._path = [self._position]
+        self._filling = 1
 
     def end_fill(self):
         """ Called after drawing a shape to be filled.
@@ -901,15 +897,30 @@
             speed(speeds[sp])
     color(0.25,0,0.75)
     fill(0)
-    color("green")
 
-    left(130)
+    # draw and fill a concave shape
+    left(120)
     up()
-    forward(90)
+    forward(70)
+    right(30)
+    down()
     color("red")
-    speed('fastest')
+    speed("fastest")
+    fill(1)
+    for i in range(4):
+        circle(50,90)
+        right(90)
+        forward(30)
+        right(90)
+    color("yellow")
+    fill(0)
+    left(90)
+    up()
+    forward(30)
     down();
 
+    color("red")
+    
     # create a second turtle and make the original pursue and catch it
     turtle=Turtle()
     turtle.reset()

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Tue Jul 11 00:11:28 2006
@@ -46,6 +46,8 @@
 Library
 -------
 
+- Patch #1519566: Update turtle demo, make begin_fill idempotent.
+
 - Bug #1508010: msvccompiler now requires the DISTUTILS_USE_SDK
   environment variable to be set in order to the SDK environment
   for finding the compiler, include files, etc.


More information about the Python-checkins mailing list