defmodule Image.Plug.Pipeline.Ops.Adjust do @moduledoc """ Tonal/colour adjustment operation. A consolidated bag of multiplier fields so that adjacent adjustments fold into one op during normalisation. All four fields are multipliers on the unmodified channel value. A value of `1.0` is a no-op; the normaliser drops the field if every multiplier is `1.0`. """ @type t :: %__MODULE__{ brightness: float(), contrast: float(), gamma: float(), saturation: float() } defstruct brightness: 1.0, contrast: 1.0, gamma: 1.0, saturation: 1.0 end