sig
  type factor =
      Zero
    | One
    | SrcColor
    | OneMinusSrcColor
    | DstColor
    | OneMinusDstColor
    | SrcAlpha
    | OneMinusSrcAlpha
    | DstAlpha
    | OneMinusDstAlpha
  type equation = Add | Subtract | ReverseSubtract
  type t = {
    color_src_factor : SFBlendMode.factor;
    color_dst_factor : SFBlendMode.factor;
    color_equation : SFBlendMode.equation;
    alpha_src_factor : SFBlendMode.factor;
    alpha_dst_factor : SFBlendMode.factor;
    alpha_equation : SFBlendMode.equation;
  }
  val make :
    ?equation:SFBlendMode.equation ->
    SFBlendMode.factor -> SFBlendMode.factor -> SFBlendMode.t
  val alpha : SFBlendMode.t
  val add : SFBlendMode.t
  val multiply : SFBlendMode.t
  val none : SFBlendMode.t
end