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

source_set("skia") {
  sources = [
    "ganesh_context.cc",
    "ganesh_context.h",
    "ganesh_framebuffer_surface.cc",
    "ganesh_framebuffer_surface.h",
    "ganesh_image_factory.cc",
    "ganesh_image_factory.h",
    "ganesh_texture_surface.cc",
    "ganesh_texture_surface.h",
    "type_converters.cc",
    "type_converters.h",
  ]

  deps = [
    ":skia_bindings",
    "//base",
    "//mojo/gpu",
    "//mojo/public/c/gpu",
    "//mojo/public/c/gpu:MGL",
    "//mojo/services/geometry/interfaces",
    "//skia",
  ]
}

source_set("skia_bindings") {
  sources = [
    "gl_bindings_skia.cc",
    "gl_bindings_skia.h",
  ]
  deps = [
    "//mojo/public/c/gpu",
    "//mojo/public/c/gpu:GLES2",
    "//skia",
  ]
}
