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

import("//build/config/ui.gni")

if (!is_android) {
  shared_library("native_viewport") {
    output_name = "mojo_native_viewport_service"

    deps = [
      ":lib",
      "//base",
      "//mojo/application",
      "//mojo/public/c/system:for_shared_library",
      "//mojo/public/cpp/bindings:bindings",
      "//mojo/services/public/interfaces/native_viewport",
      "//ui/gl",
    ]

    sources = [ "main.cc" ]
  }
}

source_set("lib") {
  deps = [
    "//base",
    "//cc/surfaces",
    "//gpu/command_buffer/service",
    "//mojo/application",
    "//mojo/common",
    "//mojo/environment:chromium",
    "//mojo/services/gles2",
    "//mojo/services/gles2:interfaces",
    "//mojo/services/public/cpp/geometry",
    "//mojo/services/public/cpp/input_events",
    "//mojo/services/public/cpp/surfaces",
    "//mojo/services/public/interfaces/geometry",
    "//mojo/services/public/interfaces/native_viewport",
    "//mojo/services/public/interfaces/surfaces",
    "//ui/events",
    "//ui/events/platform",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gl",
    "//ui/platform_window",
  ]

  sources = [
    "gpu_impl.cc",
    "gpu_impl.h",
    "native_viewport_impl.cc",
    "native_viewport_impl.h",
    "platform_viewport.h",
    "platform_viewport_android.cc",
    "platform_viewport_android.h",
    "platform_viewport_mac.mm",
    "platform_viewport_headless.cc",
    "platform_viewport_headless.h",
    "platform_viewport_win.cc",
    "viewport_surface.cc",
    "viewport_surface.h",
  ]

  if (is_ios) {
    sources += [ "platform_viewport_stub.cc" ]
  }

  if (is_android) {
    deps += [ "//mojo:jni_headers" ]
  }

  if (use_x11) {
    sources += [ "platform_viewport_x11.cc" ]
    deps += [
      "//ui/events/platform/x11",
      "//ui/platform_window/x11",
    ]
  }

  if (use_ozone) {
    sources += [ "platform_viewport_ozone.cc" ]
  }
}