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

component("surfaces") {
  output_name = "mojo_surfaces_lib"

  sources = [
    "surfaces_type_converters.cc",
    "surfaces_type_converters.h",
  ]

  public_deps = [
    "//mojo/converters/geometry",
  ]

  deps = [
    "//base",
    "//cc",
    "//cc/surfaces",
    "//cc/surfaces:surface_id",
    "//gpu",
    "//mojo/environment:chromium",
    "//mojo/public/c/system",
    "//mojo/services/surfaces/public/interfaces",
    "//mojo/services/surfaces/public/interfaces:surface_id",
  ]
}
