@@ -626,6 +626,12 @@ def circle(
626
626
# --or: circle(radius, extent) # arc
627
627
# --or: circle(radius, extent, steps)
628
628
# --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" )
629
635
pos = self .pos ()
630
636
h = self ._heading
631
637
if extent is None :
@@ -647,6 +653,9 @@ def circle(
647
653
# get back to exact same position and heading
648
654
self .goto (pos )
649
655
self .setheading (h )
656
+ if change_back :
657
+ self .radians ()
658
+ self .mode (original_mode ) # pylint: disable=possibly-used-before-assignment
650
659
651
660
# pylint:disable=inconsistent-return-statements
652
661
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:
690
699
:param color: the color of the dot
691
700
692
701
"""
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" )
693
709
if size is None :
694
710
size = max (self ._pensize + 4 , self ._pensize * 2 )
695
711
if color is None :
@@ -713,6 +729,9 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None:
713
729
self ._pensize = 1
714
730
self ._plot (self ._x , self ._y , color )
715
731
self ._pensize = pensize
732
+ if change_back :
733
+ self .radians ()
734
+ self .mode (original_mode ) # pylint: disable=possibly-used-before-assignment
716
735
717
736
def stamp (
718
737
self ,
@@ -882,6 +901,10 @@ def degrees(self, fullcircle: float = 360) -> None:
882
901
"""
883
902
self ._setDegreesPerAU (fullcircle )
884
903
904
+ def _in_degrees (self ) -> bool :
905
+ print (self ._degreesPerAU )
906
+ return self ._degreesPerAU == 1.0
907
+
885
908
def radians (self ) -> None :
886
909
"""Set the angle measurement units to radians.
887
910
Equivalent to degrees(2*math.pi)."""
0 commit comments