# 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("//flutter/impeller/tools/impeller.gni")

impeller_component("core") {
  sources = [
    "allocator.cc",
    "allocator.h",
    "buffer.cc",
    "buffer.h",
    "buffer_view.cc",
    "buffer_view.h",
    "device_buffer.cc",
    "device_buffer.h",
    "device_buffer_descriptor.cc",
    "device_buffer_descriptor.h",
    "formats.cc",
    "formats.h",
    "host_buffer.cc",
    "host_buffer.h",
    "platform.cc",
    "platform.h",
    "range.cc",
    "range.h",
    "resource_binder.cc",
    "resource_binder.h",
    "runtime_types.cc",
    "runtime_types.h",
    "sampler.cc",
    "sampler.h",
    "sampler_descriptor.cc",
    "sampler_descriptor.h",
    "shader_types.cc",
    "shader_types.h",
    "texture.cc",
    "texture.h",
    "texture_descriptor.cc",
    "texture_descriptor.h",
    "vertex_buffer.cc",
    "vertex_buffer.h",
  ]

  deps = [
    "../base",
    "../geometry",
    "../image",
    "//flutter/fml",
  ]
}
