diff options
author | Hugo van Kemenade <hugovk@users.noreply.github.com> | 2021-11-18 15:02:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-18 15:02:48 (GMT) |
commit | c94664c262bddbff4604795d46ecd0935402df8e (patch) | |
tree | d14bed6c485beb729c77a72f62adb0a052e2cc97 /Lib/turtle.py | |
parent | e4bb22fabbea72776b377733047e0f32e0388059 (diff) | |
download | cpython-c94664c262bddbff4604795d46ecd0935402df8e.zip cpython-c94664c262bddbff4604795d46ecd0935402df8e.tar.gz cpython-c94664c262bddbff4604795d46ecd0935402df8e.tar.bz2 |
bpo-45837: Properly deprecate turtle.RawTurtle.settiltangle (GH-29618)
Diffstat (limited to 'Lib/turtle.py')
-rw-r--r-- | Lib/turtle.py | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/Lib/turtle.py b/Lib/turtle.py index 2e57324..d5e715e 100644 --- a/Lib/turtle.py +++ b/Lib/turtle.py @@ -110,6 +110,7 @@ import math import time import inspect import sys +import warnings from os.path import isfile, split, join from copy import deepcopy @@ -2850,20 +2851,23 @@ class RawTurtle(TPen, TNavigator): regardless of its current tilt-angle. DO NOT change the turtle's heading (direction of movement). + Deprecated since Python 3.1 Examples (for a Turtle instance named turtle): >>> turtle.shape("circle") >>> turtle.shapesize(5,2) >>> turtle.settiltangle(45) - >>> stamp() + >>> turtle.stamp() >>> turtle.fd(50) >>> turtle.settiltangle(-45) - >>> stamp() + >>> turtle.stamp() >>> turtle.fd(50) """ - tilt = -angle * self._degreesPerAU * self._angleOrient - tilt = math.radians(tilt) % math.tau - self.pen(resizemode="user", tilt=tilt) + warnings.warn("turtle.RawTurtle.settiltangle() is deprecated since " + "Python 3.1 and scheduled for removal in Python 3.13." + "Use tiltangle() instead.", + DeprecationWarning) + self.tiltangle(angle) def tiltangle(self, angle=None): """Set or return the current tilt-angle. @@ -2877,19 +2881,32 @@ class RawTurtle(TPen, TNavigator): between the orientation of the turtleshape and the heading of the turtle (its direction of movement). - Deprecated since Python 3.1 + (Incorrectly marked as deprecated since Python 3.1, it is really + settiltangle that is deprecated.) Examples (for a Turtle instance named turtle): >>> turtle.shape("circle") - >>> turtle.shapesize(5,2) - >>> turtle.tilt(45) + >>> turtle.shapesize(5, 2) + >>> turtle.tiltangle() + 0.0 + >>> turtle.tiltangle(45) + >>> turtle.tiltangle() + 45.0 + >>> turtle.stamp() + >>> turtle.fd(50) + >>> turtle.tiltangle(-45) >>> turtle.tiltangle() + 315.0 + >>> turtle.stamp() + >>> turtle.fd(50) """ if angle is None: tilt = -math.degrees(self._tilt) * self._angleOrient return (tilt / self._degreesPerAU) % self._fullcircle else: - self.settiltangle(angle) + tilt = -angle * self._degreesPerAU * self._angleOrient + tilt = math.radians(tilt) % math.tau + self.pen(resizemode="user", tilt=tilt) def tilt(self, angle): """Rotate the turtleshape by angle. @@ -2908,7 +2925,7 @@ class RawTurtle(TPen, TNavigator): >>> turtle.tilt(30) >>> turtle.fd(50) """ - self.settiltangle(angle + self.tiltangle()) + self.tiltangle(angle + self.tiltangle()) def shapetransform(self, t11=None, t12=None, t21=None, t22=None): """Set or return the current transformation matrix of the turtle shape. |