# Copyright 2021 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.

import("//build/fidl/fidl.gni")

fidl("fuchsia.ui.composition") {
  sdk_category = "partner"

  sources = [
    "allocator.fidl",
    "flatland.fidl",
    "overview.fidl",
    "screen_capture.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.math",
    "//sdk/fidl/fuchsia.scenic.scheduling",
    "//sdk/fidl/fuchsia.sysmem",
    "//sdk/fidl/fuchsia.ui.pointer",
    "//sdk/fidl/fuchsia.ui.views",
    "//zircon/vdso/zx",
  ]
}
