def c_shadow(key, label, target, default=None, group=None): """Ombre portée composée de 6 sous-réglages (décalage X/Y, flou, étendue, couleur, opacité) — voir save_element_controls.py (ctype "shadow") pour comment ils se combinent en une seule valeur CSS "box-shadow", et control_value.py pour comment elle se décompose à nouveau pour l'affichage. Décalages/flou/étendue tous à 0 = pas d'ombre, comme border-width à 0 = pas de bordure.""" return { "key": key, "label": label, "type": "shadow", "target": target, "default": default or {"x": 0, "y": 4, "blur": 12, "spread": 0, "color": "#000000", "opacity": 0.4}, "group": group, }