matrixFor static method

List<double>? matrixFor(
  1. VideoEditorEffect effect
)

Colour matrix for effect, or null for VideoEditorEffect.none.

Implementation

static List<double>? matrixFor(VideoEditorEffect effect) {
  switch (effect) {
    case VideoEditorEffect.none:
      return null;
    case VideoEditorEffect.grayscale:
      return _grayscale;
    case VideoEditorEffect.sepia:
      return const [
        0.393, 0.769, 0.189, 0, 0,
        0.349, 0.686, 0.168, 0, 0,
        0.272, 0.534, 0.131, 0, 0,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.warm:
      return const [
        1.12, 0, 0, 0, 12,
        0, 1.05, 0, 0, 5,
        0, 0, 0.9, 0, -8,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.cool:
      return const [
        0.9, 0, 0, 0, -8,
        0, 1.02, 0, 0, 3,
        0, 0, 1.15, 0, 16,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.vintage:
      return const [
        0.9, 0.15, 0.05, 0, 10,
        0.1, 0.85, 0.05, 0, 8,
        0.1, 0.15, 0.65, 0, 4,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.posterize:
      return const [
        1.35, -0.1, -0.1, 0, -10,
        -0.1, 1.35, -0.1, 0, -10,
        -0.1, -0.1, 1.35, 0, -10,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.ink:
      return const [
        0.64, 2.15, 0.22, 0, -300,
        0.64, 2.15, 0.22, 0, -300,
        0.64, 2.15, 0.22, 0, -300,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.noir:
      return const [
        0.29, 0.97, 0.1, 0, -60,
        0.29, 0.97, 0.1, 0, -60,
        0.29, 0.97, 0.1, 0, -60,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.vivid:
      return const [
        1.45, -0.32, -0.03, 0, -6,
        -0.13, 1.25, -0.02, 0, -6,
        -0.13, -0.32, 1.55, 0, -6,
        0, 0, 0, 1, 0,
      ];
    case VideoEditorEffect.cinematic:
      return const [
        1.1, 0.05, -0.05, 0, 6,
        0, 1.0, 0.05, 0, -4,
        -0.05, 0.05, 1.08, 0, 10,
        0, 0, 0, 1, 0,
      ];
  }
}