Beispiel #1
0
def text(text: str, *trait_fns: TextTraitFn) -> LayerRef:

    entry = TextEntry(text)
    idx = register_entry(entry, 'TEXT', '')
    t = TextTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #2
0
def image(src: str | list[str], *trait_fns: ImageTraitFn) -> LayerRef:

    entry = ImageEntry([src] if isinstance(src, str) else src)
    idx = register_entry(entry, 'IMAGE', '')
    t = ImageTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #3
0
def video(src: str, *trait_fns: VideoTraitFn) -> LayerRef:

    entry = VideoEntry(src)
    idx = register_entry(entry, 'VIDEO', '')
    t = VideoTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #4
0
def line(size: float, *trait_fns: LineTraitFn) -> LayerRef:

    entry = ShapeEntry('LINE')
    entry.shape.line.size = size
    idx = register_entry(entry, 'SHAPE', '')
    t = LineTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #5
0
def tri(side: float, *trait_fns: TriangleTraitFn) -> LayerRef:

    entry = ShapeEntry('TRIANGLE')
    entry.shape.tri.side = side
    idx = register_entry(entry, 'SHAPE', '')
    t = TriangleTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #6
0
def circle(radius: float, *trait_fns: CircleTraitFn) -> LayerRef:

    entry = ShapeEntry('CIRCLE')
    entry.shape.circle.circle_radius = radius
    idx = register_entry(entry, 'SHAPE', '')
    t = CircleTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)
Beispiel #7
0
def rect(width: int, height: int, *trait_fns: RectTraitFn) -> LayerRef:

    entry = ShapeEntry('RECT')
    entry.shape.rect.width = width
    entry.shape.rect.height = height
    idx = register_entry(entry, 'SHAPE', '')
    t = RectTrait(idx)
    t.transform.pos(*lcenter())
    [tfn(t) for tfn in trait_fns]
    return LayerRef(idx)