# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../tools/impeller.gni")

impeller_component("aiks") {
  sources = [
    "aiks_context.cc",
    "aiks_context.h",
    "canvas.cc",
    "canvas.h",
    "color_filter.cc",
    "color_filter.h",
    "color_source.cc",
    "color_source.h",
    "image.cc",
    "image.h",
    "paint.cc",
    "paint.h",
    "paint_pass_delegate.cc",
    "paint_pass_delegate.h",
    "picture.cc",
    "picture.h",
    "picture_recorder.cc",
    "picture_recorder.h",
  ]

  public_deps = [
    "../base",
    "../entity",
    "../geometry",
  ]

  deps = [ "//flutter/fml" ]
}

impeller_component("aiks_playground") {
  testonly = true
  sources = [
    "aiks_playground.cc",
    "aiks_playground.h",
  ]
  deps = [
    ":aiks",
    "../playground:playground_test",
  ]
}

impeller_component("aiks_unittests") {
  testonly = true
  sources = [
    "aiks_unittests.cc",
    "canvas_unittests.cc",
    "testing/context_mock.h",
    "testing/context_spy.cc",
    "testing/context_spy.h",
  ]
  deps = [
    ":aiks",
    ":aiks_playground",
    "//flutter/impeller/geometry:geometry_asserts",
    "//flutter/impeller/golden_tests:golden_playground_test",
    "//flutter/impeller/playground:playground_test",
    "//flutter/testing:testing_lib",
  ]
}

impeller_component("aiks_unittests_golden") {
  testonly = true

  defines = [
    "IMPELLER_GOLDEN_TESTS",
    "IMPELLER_ENABLE_VALIDATION=1",
  ]

  sources = [
    "aiks_unittests.cc",
    "testing/context_mock.h",
    "testing/context_spy.cc",
    "testing/context_spy.h",
  ]
  deps = [
    ":aiks",
    ":aiks_playground",
    "//flutter/impeller/geometry:geometry_asserts",
    "//flutter/impeller/golden_tests:golden_playground_test",
    "//flutter/impeller/playground:playground_test",
    "//flutter/testing:testing_lib",
  ]
}
