@@ -626,6 +626,12 @@ def circle(
626626 # --or: circle(radius, extent) # arc
627627 # --or: circle(radius, extent, steps)
628628 # --or: circle(radius, steps=6) # 6-sided polygon
629+ change_back = False
630+ if not self ._in_degrees ():
631+ change_back = True
632+ original_mode = "standard" if not self ._logomode else "logo"
633+ self .degrees ()
634+ self .mode ("standard" )
629635 pos = self .pos ()
630636 h = self ._heading
631637 if extent is None :
@@ -647,6 +653,9 @@ def circle(
647653 # get back to exact same position and heading
648654 self .goto (pos )
649655 self .setheading (h )
656+ if change_back :
657+ self .radians ()
658+ self .mode (original_mode ) # pylint: disable=possibly-used-before-assignment
650659
651660 # pylint:disable=inconsistent-return-statements
652661 def speed (self , speed : Optional [int ] = None ) -> Optional [int ]:
@@ -690,6 +699,13 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None:
690699 :param color: the color of the dot
691700
692701 """
702+ change_back = False
703+ if not self ._in_degrees ():
704+ change_back = True
705+ original_mode = "standard" if not self ._logomode else "logo"
706+ print (f"old mode: { original_mode } " )
707+ self .degrees ()
708+ self .mode ("standard" )
693709 if size is None :
694710 size = max (self ._pensize + 4 , self ._pensize * 2 )
695711 if color is None :
@@ -713,6 +729,9 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None:
713729 self ._pensize = 1
714730 self ._plot (self ._x , self ._y , color )
715731 self ._pensize = pensize
732+ if change_back :
733+ self .radians ()
734+ self .mode (original_mode ) # pylint: disable=possibly-used-before-assignment
716735
717736 def stamp (
718737 self ,
@@ -882,6 +901,10 @@ def degrees(self, fullcircle: float = 360) -> None:
882901 """
883902 self ._setDegreesPerAU (fullcircle )
884903
904+ def _in_degrees (self ) -> bool :
905+ print (self ._degreesPerAU )
906+ return self ._degreesPerAU == 1.0
907+
885908 def radians (self ) -> None :
886909 """Set the angle measurement units to radians.
887910 Equivalent to degrees(2*math.pi)."""
0 commit comments