diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2006-07-10 22:11:28 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2006-07-10 22:11:28 (GMT) |
commit | 06c68b800ca3e31d2551923083ce8294ab94cb24 (patch) | |
tree | 55f5e94158b05c9fcc5d8138fd5f9109a0bb3f22 | |
parent | 722b88308da16225530a8852adc0581a918d5105 (diff) | |
download | cpython-06c68b800ca3e31d2551923083ce8294ab94cb24.zip cpython-06c68b800ca3e31d2551923083ce8294ab94cb24.tar.gz cpython-06c68b800ca3e31d2551923083ce8294ab94cb24.tar.bz2 |
Patch #1519566: Remove unused _tofill member.
Make begin_fill idempotent.
Update demo2 to demonstrate filling of concave shapes.
-rw-r--r-- | Doc/lib/libturtle.tex | 4 | ||||
-rw-r--r-- | Lib/lib-tk/turtle.py | 35 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 28 insertions, 13 deletions
diff --git a/Doc/lib/libturtle.tex b/Doc/lib/libturtle.tex index 6b9585f..2b329b7 100644 --- a/Doc/lib/libturtle.tex +++ b/Doc/lib/libturtle.tex @@ -108,7 +108,9 @@ and call \code{fill(0)} when you finish to draw the path. \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} diff --git a/Lib/lib-tk/turtle.py b/Lib/lib-tk/turtle.py index 9fa447c..4cface7 100644 --- a/Lib/lib-tk/turtle.py +++ b/Lib/lib-tk/turtle.py @@ -86,7 +86,6 @@ class RawPen: self._color = "black" self._filling = 0 self._path = [] - self._tofill = [] self.clear() canvas._root().tkraise() @@ -306,19 +305,15 @@ class RawPen: {'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 @@ class RawPen: >>> 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 @@ def demo2(): 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() @@ -46,6 +46,8 @@ Core and builtins 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. |