Source code for todays_paper_web.widgets.core.screen

import webcolors
from PIL import Image
from pydantic import Field

from todays_paper_web.widgets import registerView, View
from todays_paper_web.widgets.params import Color
from .layout import BoxParams, BoxView


[docs] class ScreenParams(BoxParams): color: Color = Field( default_factory=lambda: webcolors.name_to_rgb("white"), description="Background fill color." )
@registerView("screen") class ScreenView(BoxView): Params = ScreenParams def render(self): img = Image.new("RGB", (self.params.width, self.params.height), self.params.color) box = super().render() ScreenView.paste(img, box, (0, 0)) return img