Clean up DecimalNumber constructor

This commit is contained in:
Grant Sanderson 2022-04-28 12:14:36 -06:00
parent c1b222c233
commit a4b38fd420

View file

@ -38,17 +38,20 @@ class DecimalNumber(VMobject):
def set_submobjects_from_number(self, number: float | complex) -> None: def set_submobjects_from_number(self, number: float | complex) -> None:
self.number = number self.number = number
self.set_submobjects([]) self.set_submobjects([])
string_to_mob_ = lambda s: self.string_to_mob(s, **self.text_config) self.text_config["font_size"] = self.get_font_size()
num_string = self.get_num_string(number) num_string = self.get_num_string(number)
self.add(*map(string_to_mob_, num_string)) self.add(*(
Text(ns, **self.text_config)
for ns in num_string
))
# Add non-numerical bits # Add non-numerical bits
if self.show_ellipsis: if self.show_ellipsis:
dots = string_to_mob_("...") dots = Text("...", **self.text_config)
dots.arrange(RIGHT, buff=2 * dots[0].get_width()) dots.arrange(RIGHT, buff=2 * dots[0].get_width())
self.add(dots) self.add(dots)
if self.unit is not None: if self.unit is not None:
self.unit_sign = self.string_to_mob(self.unit, SingleStringTex) self.unit_sign = SingleStringTex(self.unit, font_size=self.get_font_size())
self.add(self.unit_sign) self.add(self.unit_sign)
self.arrange( self.arrange(
@ -91,12 +94,7 @@ class DecimalNumber(VMobject):
self.data["font_size"] = np.array([self.font_size], dtype=float) self.data["font_size"] = np.array([self.font_size], dtype=float)
def get_font_size(self) -> float: def get_font_size(self) -> float:
return self.data["font_size"][0] return int(self.data["font_size"][0])
def string_to_mob(self, string: str, mob_class: Type[T] = Text, **kwargs) -> T:
mob = mob_class(string, font_size=1, **kwargs)
mob.scale(self.get_font_size())
return mob
def get_formatter(self, **kwargs) -> str: def get_formatter(self, **kwargs) -> str:
""" """