Repository URL to install this package:
Version:
0.28.0.dev4751 ▾
|
from typing import Optional
from flet.controls.base_control import control
from flet.controls.border_radius import OptionalBorderRadiusValue
from flet.controls.constrained_control import ConstrainedControl
from flet.controls.control import Control
from flet.controls.gradients import Gradient
from flet.controls.types import BlendMode
__all__ = ["ShaderMask"]
@control("ShaderMask")
class ShaderMask(ConstrainedControl):
"""
A control that applies a mask generated by a shader to its child.
For example, ShaderMask can be used to gradually fade out the edge of a child by using a `LinearGradient` mask.
Example:
```
import flet as ft
def main(page: ft.Page):
page.add(
ft.Row(
[
ft.ShaderMask(
ft.Image(src="https://picsum.photos/100/200?2"),
blend_mode=ft.BlendMode.DST_IN,
shader=ft.LinearGradient(
begin=ft.Alignment.top_center(),
end=ft.Alignment.bottom_center(),
colors=[ft.colors.BLACK, ft.colors.TRANSPARENT],
stops=[0.5, 1.0],
),
border_radius=10,
),
]
)
)
ft.app(target=main)
```
-----
Online docs: https://flet.dev/docs/controls/shadermask
"""
shader: Gradient
content: Optional[Control] = None
blend_mode: Optional[BlendMode] = None
border_radius: OptionalBorderRadiusValue = None