function fn__svg_radial_gradient($input) { $gradient = create_svg_radial_gradient($input); $gradient_markup = reset($gradient); $gradient_id = key($gradient); $svg = '<svg xmlns="http://www.w3.org/2000/svg" width="150" height="150">'; $svg .= '<defs>'; $svg .= $gradient_markup; $svg .= '</defs>'; $svg .= "<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"url(#{$gradient_id})\"/>"; $svg .= '</svg>'; return Crush::$process->tokens->add(new Url('data:image/svg+xml;base64,' . base64_encode($svg))); }
function svg_fn_radial_gradient($input, $element) { // Relies on functions from svg-gradients plugin. Plugin::load('svg-gradients'); $generated_gradient = create_svg_radial_gradient($input); $element->fills['gradients'][] = reset($generated_gradient); return 'url(#' . key($generated_gradient) . ')'; }