mirror of
https://github.com/3b1b/manim.git
synced 2025-07-30 05:24:22 +08:00
Refactor many definitions out of topics and into folders within mobject
This commit is contained in:
44
mobject/frame.py
Normal file
44
mobject/frame.py
Normal file
@ -0,0 +1,44 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from constants import *
|
||||
from mobject.geometry import Rectangle
|
||||
from utils.config_ops import digest_config
|
||||
|
||||
class ScreenRectangle(Rectangle):
|
||||
CONFIG = {
|
||||
"width_to_height_ratio" : 16.0/9.0,
|
||||
"height" : 4,
|
||||
}
|
||||
def generate_points(self):
|
||||
self.width = self.width_to_height_ratio * self.height
|
||||
Rectangle.generate_points(self)
|
||||
|
||||
class FullScreenRectangle(ScreenRectangle):
|
||||
CONFIG = {
|
||||
"height" : FRAME_HEIGHT,
|
||||
}
|
||||
|
||||
class FullScreenFadeRectangle(FullScreenRectangle):
|
||||
CONFIG = {
|
||||
"stroke_width" : 0,
|
||||
"fill_color" : BLACK,
|
||||
"fill_opacity" : 0.7,
|
||||
}
|
||||
|
||||
class PictureInPictureFrame(Rectangle):
|
||||
CONFIG = {
|
||||
"height" : 3,
|
||||
"aspect_ratio" : (16, 9)
|
||||
}
|
||||
def __init__(self, **kwargs):
|
||||
digest_config(self, kwargs)
|
||||
height = self.height
|
||||
if "height" in kwargs:
|
||||
kwargs.pop("height")
|
||||
Rectangle.__init__(
|
||||
self,
|
||||
width = self.aspect_ratio[0],
|
||||
height = self.aspect_ratio[1],
|
||||
**kwargs
|
||||
)
|
||||
self.scale_to_fit_height(height)
|
Reference in New Issue
Block a user