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

# GYP version: mojo/mojo.gyp:mojo_aura_support
source_set("aura") {
  sources = [
    "aura_init.cc",
    "aura_init.h",
    "screen_mojo.cc",
    "screen_mojo.h",
    "surface_binding.cc",
    "surface_binding.h",
    "surface_context_factory.cc",
    "surface_context_factory.h",
    "window_tree_host_mojo.cc",
    "window_tree_host_mojo.h",
  ]

  public_deps = [
    "//mojo/services/view_manager/public/cpp",
  ]
  deps = [
    "//cc",
    "//cc/surfaces",
    "//skia",
    "//ui/aura",
    "//ui/compositor",
    "//ui/events",
    "//ui/events:events_base",
    "//ui/gl",
    "//mojo/cc",
    "//mojo/converters/geometry",
    "//mojo/converters/surfaces",
    "//mojo/public/c/gles2",
    "//mojo/public/cpp/application",
    "//mojo/public/interfaces/application:application",
    "//mojo/services/gpu/public/interfaces",
    "//mojo/services/native_viewport/public/interfaces",
    "//mojo/services/surfaces/public/interfaces",
    "//mojo/services/view_manager/public/cpp",
  ]
}
