@@ -640,6 +640,12 @@ def circle(
640
640
# --or: circle(radius, extent) # arc
641
641
# --or: circle(radius, extent, steps)
642
642
# --or: circle(radius, steps=6) # 6-sided polygon
643
+ change_back = False
644
+ if not self ._in_degrees ():
645
+ change_back = True
646
+ original_mode = "standard" if not self ._logomode else "logo"
647
+ self .degrees ()
648
+ self .mode ("standard" )
643
649
pos = self .pos ()
644
650
h = self ._heading
645
651
if extent is None :
@@ -661,6 +667,9 @@ def circle(
661
667
# get back to exact same position and heading
662
668
self .goto (pos )
663
669
self .setheading (h )
670
+ if change_back :
671
+ self .radians ()
672
+ self .mode (original_mode )
664
673
665
674
# pylint:disable=inconsistent-return-statements
666
675
def speed (self , speed : Optional [int ] = None ) -> Optional [int ]:
@@ -704,6 +713,13 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None:
704
713
:param color: the color of the dot
705
714
706
715
"""
716
+ change_back = False
717
+ if not self ._in_degrees ():
718
+ change_back = True
719
+ original_mode = "standard" if not self ._logomode else "logo"
720
+ print (f"old mode: { original_mode } " )
721
+ self .degrees ()
722
+ self .mode ("standard" )
707
723
if size is None :
708
724
size = max (self ._pensize + 4 , self ._pensize * 2 )
709
725
if color is None :
@@ -727,6 +743,9 @@ def dot(self, size: Optional[int] = None, color: Optional[int] = None) -> None:
727
743
self ._pensize = 1
728
744
self ._plot (self ._x , self ._y , color )
729
745
self ._pensize = pensize
746
+ if change_back :
747
+ self .radians ()
748
+ self .mode (original_mode )
730
749
731
750
def stamp (
732
751
self ,
@@ -896,6 +915,10 @@ def degrees(self, fullcircle: float = 360) -> None:
896
915
"""
897
916
self ._setDegreesPerAU (fullcircle )
898
917
918
+ def _in_degrees (self ) -> bool :
919
+ print (self ._degreesPerAU )
920
+ return self ._degreesPerAU == 1.0
921
+
899
922
def radians (self ) -> None :
900
923
"""Set the angle measurement units to radians.
901
924
Equivalent to degrees(2*math.pi)."""
0 commit comments