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

source_set("display") {
  sources = [
    "display.cc",
    "display.h",
    "display_controller.cc",
    "display_controller.h",
    "display_controller_listener.cc",
    "display_controller_listener.h",
    "display_controller_watcher.cc",
    "display_controller_watcher.h",
    "display_manager.cc",
    "display_manager.h",
    "display_manager2.cc",
    "display_manager2.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.hardware.display",
    "//sdk/fidl/fuchsia.hardware.display:fuchsia.hardware.display_c",
    "//sdk/fidl/fuchsia.ui.display",
    "//src/lib/files",
    "//src/lib/fsl",
    "//src/lib/fxl",
    "//zircon/public/lib/async-cpp",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/zx",
  ]
  deps = [
    # TODO(SCN-1398): For displayOwned/NotOwnedSignal.
    # TODO(fxb/23686): Remove this when we externalize Displays.
    "//sdk/fidl/fuchsia.ui.scenic",
    "//src/ui/scenic/lib/scheduling:vsync_timing",
    "//zircon/public/lib/fzl",
    "//zircon/public/lib/trace",
    "//zircon/system/ulib/fdio-caller",
  ]
}
