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

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


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

fidl_library("fuchsia.ui.gfx") {
  library_name = "gfx"
  namespace = "fuchsia.ui"
  public_deps = [
    "../fuchsia.images",
    "../fuchsia.mem",
    "../fuchsia.ui.views",
  ]
  sources = [
    "commands.fidl",
    "display_info.fidl",
    "events.fidl",
    "hit.fidl",
    "nodes.fidl",
    "pose_buffer_provider.fidl",
    "renderer.fidl",
    "resources.fidl",
    "shapes.fidl",
    "tokens.fidl",
    "types.fidl",
  ]
}

group("all"){
  deps = [
    ":fuchsia.ui.gfx",
  ]
}
