# Copyright 2017 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.gfx") {
  # TODO(https://fxbug.dev/42111344): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    "invalid-case-for-constant",
    "invalid-case-for-decl-name",
    "string-bounds-not-specified",
    "vector-bounds-not-specified",
  ]

  sdk_category = "partner"
  sdk_area = "Graphics"

  sources = [
    "commands.fidl",
    "display_info.fidl",
    "events.fidl",
    "nodes.fidl",
    "overview.fidl",
    "pose_buffer_provider.fidl",
    "renderer.fidl",
    "resources.fidl",
    "shapes.fidl",
    "tokens.fidl",
    "types.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.images",
    "//sdk/fidl/fuchsia.mem",
    "//sdk/fidl/fuchsia.ui.composition",
    "//sdk/fidl/fuchsia.ui.views",
    "//zircon/vdso/zx",
  ]

  enable_hlcpp = true
}
