From eed34a521d5c9f37685fdefd5f3f28be70b11a0e Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Wed, 26 Feb 2025 09:50:33 -0600 Subject: [PATCH] Add LineBrace --- manimlib/mobject/svg/brace.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/manimlib/mobject/svg/brace.py b/manimlib/mobject/svg/brace.py index 4078e687..33e83bf3 100644 --- a/manimlib/mobject/svg/brace.py +++ b/manimlib/mobject/svg/brace.py @@ -6,7 +6,7 @@ import copy import numpy as np from manimlib.constants import DEFAULT_MOBJECT_TO_MOBJECT_BUFF, SMALL_BUFF -from manimlib.constants import DOWN, LEFT, ORIGIN, RIGHT, DL, DR, UL +from manimlib.constants import DOWN, LEFT, ORIGIN, RIGHT, DL, DR, UL, UP from manimlib.constants import PI from manimlib.animation.composition import AnimationGroup from manimlib.animation.fading import FadeIn @@ -174,3 +174,12 @@ class BraceLabel(VMobject): class BraceText(BraceLabel): label_constructor: type = TexText + + +class LineBrace(Brace): + def __init__(self, line: Line, direction=UP, **kwargs): + angle = line.get_angle() + line.rotate(-angle) + super().__init__(line, direction, **kwargs) + line.rotate(angle) + self.rotate(angle, about_point=line.get_center())