# Copyright 2016 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/package.gni")

executable("paint") {
  output_name = "paint_view"

  sources = [
    "main.cc",
    "paint_view.cc",
    "paint_view.h",
  ]

  deps = [
    "//garnet/public/lib/ui/base_view/cpp",
    "//sdk/fidl/fuchsia.images",
    "//sdk/fidl/fuchsia.ui.input",
    "//sdk/lib/fidl/cpp",
    "//src/lib/fxl",
    "//third_party/skia",
    "//topaz/examples/ui/lib:skia_view",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
    "//zircon/public/lib/hid",
    "//zircon/public/lib/trace-provider-with-fdio",
  ]
}

package("package") {
  package_name = "paint"

  deps = [
    ":paint",
  ]

  binary = "paint_view"

  meta = [
    {
      path = rebase_path("../meta/ui_example.cmx")
      dest = "paint.cmx"
    },
  ]
}
