blob: 11bf3a0c31aa18959b5327598911a257de14ada2 [file] [log] [blame]
# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
# Normally typemap traits sources should be build directly into mojom targets
# via the typemap file. This target is for typemapped mojo_base types whose
# traits are shared between chromium and blink variants.
component("shared_typemap_traits") {
output_name = "skia_shared_typemap_traits"
sources = [
"bitmap_skbitmap_mojom_traits.cc",
"bitmap_skbitmap_mojom_traits.h",
"image_info_mojom_traits.cc",
"image_info_mojom_traits.h",
"surface_origin_mojom_traits.h",
]
defines = [ "IS_SKIA_SHARED_TRAITS_IMPL" ]
public_deps = [
"//base",
"//mojo/public/cpp/base:shared_typemap_traits",
"//skia",
"//skia:skcms",
"//skia/public/mojom:mojom_shared",
]
}
mojom("mojom") {
generate_java = true
sources = [
"bitmap.mojom",
"image_info.mojom",
"skcolor.mojom",
"skcolor4f.mojom",
"skcolorspace.mojom",
"skcolorspace_primaries.mojom",
"surface_origin.mojom",
"tile_mode.mojom",
]
public_deps = [ "//mojo/public/mojom/base" ]
shared_skia_cpp_typemaps = [
{
types = [
{
mojom = "skia.mojom.TileMode"
cpp = "::SkTileMode"
},
]
traits_headers = [ "tile_mode_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.BitmapN32"
cpp = "::SkBitmap"
nullable_is_same_type = true
},
{
mojom = "skia.mojom.BitmapWithArbitraryBpp"
cpp = "::SkBitmap"
nullable_is_same_type = true
},
{
mojom = "skia.mojom.BitmapWithArbitraryBpp"
cpp = "::SkBitmap"
nullable_is_same_type = true
},
{
mojom = "skia.mojom.BitmapMappedFromTrustedProcess"
cpp = "::SkBitmap"
nullable_is_same_type = true
},
{
mojom = "skia.mojom.InlineBitmap"
cpp = "::SkBitmap"
nullable_is_same_type = true
},
]
traits_headers = [ "bitmap_skbitmap_mojom_traits.h" ]
traits_public_deps = [
":shared_typemap_traits",
"//skia",
]
},
{
types = [
{
mojom = "skia.mojom.SkcmsMatrix3x3"
cpp = "::skcms_Matrix3x3"
},
]
traits_headers = [ "skcolorspace_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.SkcmsTransferFunction"
cpp = "::skcms_TransferFunction"
},
]
traits_headers = [ "skcolorspace_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.SkColor"
cpp = "::SkColor"
copyable_pass_by_value = true
},
]
traits_headers = [ "skcolor_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.SkColor4f"
cpp = "::SkColor4f"
},
]
traits_headers = [ "skcolor4f_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.SkColorSpacePrimaries"
cpp = "::SkColorSpacePrimaries"
},
]
traits_headers = [ "skcolorspace_primaries_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.SkColorSpace"
cpp = "::sk_sp<SkColorSpace>"
},
]
traits_headers = [ "skcolorspace_mojom_traits.h" ]
traits_public_deps = [ "//skia" ]
},
{
types = [
{
mojom = "skia.mojom.AlphaType"
cpp = "::SkAlphaType"
},
{
mojom = "skia.mojom.ColorType"
cpp = "::SkColorType"
},
{
mojom = "skia.mojom.ImageInfo"
cpp = "::SkImageInfo"
},
{
mojom = "skia.mojom.BitmapN32ImageInfo"
cpp = "::SkImageInfo"
},
]
traits_headers = [ "image_info_mojom_traits.h" ]
traits_public_deps = [
":shared_typemap_traits",
"//skia",
]
},
{
types = [
{
mojom = "skia.mojom.SurfaceOrigin"
cpp = "::GrSurfaceOrigin"
},
]
traits_headers = [ "surface_origin_mojom_traits.h" ]
traits_public_deps = [ ":shared_typemap_traits" ]
},
]
cpp_typemaps = shared_skia_cpp_typemaps
blink_cpp_typemaps = shared_skia_cpp_typemaps
# Generate TypeScript bindings for WebUI and JavaScript legacy bindings for
# Blink.
webui_module_path = "chrome://resources/mojo/skia/public/mojom/"
generate_legacy_js_bindings = true
}