Merge pull request #306 from taharallouche/text-radial-gradient-fill

feat: add radial gradient fill for text
This commit is contained in:
Mad Cow
2025-11-02 16:58:21 +01:00
committed by GitHub
2 changed files with 14 additions and 13 deletions

View File

@@ -2913,7 +2913,7 @@ a.remove();
return fill._serialize(self)
def _host_and_get_fill_as_css_variables(
self, fill: fills._FillLike
self, fill: text_style._TextFill
) -> dict[str, str]:
if isinstance(fill, rio.Color):
return {
@@ -2933,16 +2933,10 @@ a.remove();
"backdrop-filter": "none",
}
if isinstance(fill, rio.FrostedGlassFill):
return {
"color": f"#{fill.color.hexa}",
"background": "none",
"background-clip": "unset",
"fill-color": "unset",
"backdrop-filter": f"blur({fill.blur_size}rem)",
}
assert isinstance(fill, (rio.LinearGradientFill, rio.ImageFill)), fill
assert isinstance(
fill,
(rio.LinearGradientFill, rio.ImageFill, rio.RadialGradientFill),
), fill
return {
"color": "var(--rio-local-text-color)",
"background": fill._as_css_background(self),

View File

@@ -13,7 +13,12 @@ import rio
from . import utils
from .assets import Asset, HostedAsset, PathAsset
from .color import Color
from .fills import ImageFill, LinearGradientFill, SolidFill
from .fills import (
ImageFill,
LinearGradientFill,
RadialGradientFill,
SolidFill,
)
from .self_serializing import SelfSerializing
__all__ = [
@@ -26,7 +31,9 @@ __all__ = [
logging.getLogger("CSSUTILS").setLevel(logging.CRITICAL)
_TextFill = SolidFill | LinearGradientFill | ImageFill | Color
_TextFill = (
SolidFill | LinearGradientFill | ImageFill | Color | RadialGradientFill
)
@dataclasses.dataclass(frozen=True)