chromium/cc/slim/BUILD.gn

# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

component("slim") {
  sources = [
    "constants.h",
    "damage_data.cc",
    "damage_data.h",
    "delayed_scheduler.cc",
    "delayed_scheduler.h",
    "filter.cc",
    "filter.h",
    "frame_data.cc",
    "frame_data.h",
    "frame_sink.cc",
    "frame_sink.h",
    "frame_sink_impl.cc",
    "frame_sink_impl.h",
    "frame_sink_impl_client.h",
    "layer.cc",
    "layer.h",
    "layer_tree.cc",
    "layer_tree.h",
    "layer_tree_client.h",
    "layer_tree_impl.cc",
    "layer_tree_impl.h",
    "nine_patch_layer.cc",
    "nine_patch_layer.h",
    "scheduler.h",
    "simple_scheduler.cc",
    "simple_scheduler.h",
    "solid_color_layer.cc",
    "solid_color_layer.h",
    "surface_layer.cc",
    "surface_layer.h",
    "ui_resource_layer.cc",
    "ui_resource_layer.h",
  ]

  defines = [ "IS_CC_SLIM_IMPL" ]

  public_deps = [
    "//base",
    "//components/viz/common",
    "//mojo/public/cpp/bindings",
    "//services/viz/public/mojom",
    "//skia",
    "//ui/gfx/geometry",
  ]
  deps = [
    "//cc/base",
    "//components/viz/client",
    "//gpu/command_buffer/client",
    "//gpu/command_buffer/common",
  ]

  # Remove when no longer supports wrapping cc.
  public_deps += [ "//cc:cc" ]
  deps += [
    "//cc/animation",
    "//cc/mojo_embedder",
  ]
}