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

mojom = "//skia/public/mojom/bitmap.mojom"
public_headers = [ "//third_party/skia/include/core/SkBitmap.h" ]
traits_headers = [ "//skia/public/mojom/bitmap_skbitmap_mojom_traits.h" ]
deps = [
  "//mojo/public/cpp/bindings",
]
public_deps = [
  "//skia",
  "//skia/public/mojom:shared_typemap_traits",
]
type_mappings = [
  "skia.mojom.Bitmap=::SkBitmap[nullable_is_same_type]",
  "skia.mojom.InlineBitmap=::SkBitmap[nullable_is_same_type]",
]
