defmodule Image.Plug.Pipeline.Ops.DropShadow do
@moduledoc """
Drop-shadow operation. The shadow is the source's alpha
silhouette, blurred, tinted, scaled by `:opacity`, and
composited beneath the original at `(:dx, :dy)`. Maps to
ImageKit's `e-shadow=...` parameter family.
`:color` is normalised to a 3-element `[r, g, b]` 0..255 list
by the provider parser.
"""
@type t :: %__MODULE__{
color: [non_neg_integer()],
opacity: float(),
sigma: float(),
dx: integer(),
dy: integer()
}
defstruct color: [0, 0, 0],
opacity: 0.5,
sigma: 5.0,
dx: 0,
dy: 10
end