chromium/ui/base/cursor/mojom/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//mojo/public/tools/bindings/mojom.gni")

mojom("mojom") {
  generate_java = true
  sources = [ "cursor.mojom" ]
  public_deps = [
    ":cursor_type",
    "//skia/public/mojom",
    "//ui/gfx/geometry/mojom",
  ]
  shared_cpp_typemap = {
    types = [
      {
        mojom = "ui.mojom.Cursor"
        cpp = "::ui::Cursor"
      },
    ]
    traits_headers = [ "cursor_mojom_traits.h" ]
    traits_public_deps = [ ":mojom_traits" ]
  }
  cpp_typemaps = [ shared_cpp_typemap ]
  blink_cpp_typemaps = [ shared_cpp_typemap ]
}

source_set("mojom_traits") {
  sources = [
    "cursor_mojom_traits.cc",
    "cursor_mojom_traits.h",
  ]
  public_deps = [
    ":mojom_shared",
    "//ui/base/cursor",
  ]
  deps = [
    "//skia",
    "//skia/public/mojom:shared_typemap_traits",
    "//ui/gfx/geometry",
    "//ui/gfx/geometry:geometry_skia",
    "//ui/gfx/geometry/mojom:mojom_traits",
  ]
}

mojom("cursor_type") {
  generate_java = true
  sources = [ "cursor_type.mojom" ]
}

source_set("unittests") {
  testonly = true
  sources = [ "cursor_mojom_traits_unittest.cc" ]
  deps = [
    ":mojom",
    ":mojom_traits",
    "//testing/gtest",
    "//ui/base",
    "//ui/base/cursor",
    "//ui/gfx:gfx_skia",
    "//ui/gfx:test_support",
    "//ui/gfx/geometry/mojom:mojom_traits",
  ]
}