| # 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. |
| |
| import("//build/config/ozone.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| |
| mojom("mojom") { |
| generate_java = true |
| sources = [ |
| "accelerated_widget.mojom", |
| "buffer_types.mojom", |
| "ca_layer_params.mojom", |
| "color_space.mojom", |
| "delegated_ink_metadata.mojom", |
| "delegated_ink_point.mojom", |
| "delegated_ink_point_renderer.mojom", |
| "display_color_spaces.mojom", |
| "font_render_params.mojom", |
| "gpu_extra_info.mojom", |
| "gpu_fence_handle.mojom", |
| "hdr_metadata.mojom", |
| "hdr_static_metadata.mojom", |
| "mask_filter_info.mojom", |
| "overlay_priority_hint.mojom", |
| "overlay_transform.mojom", |
| "presentation_feedback.mojom", |
| "rrect_f.mojom", |
| "selection_bound.mojom", |
| "swap_result.mojom", |
| "swap_timings.mojom", |
| "transform.mojom", |
| ] |
| |
| public_deps = [ |
| ":native_handle_types", |
| "//mojo/public/mojom/base", |
| "//skia/public/mojom", |
| "//ui/gfx/geometry/mojom", |
| ] |
| |
| enabled_features = [] |
| if (use_x11 || ozone_platform_x11) { |
| enabled_features += [ "enable_x11_params" ] |
| } |
| |
| shared_cpp_typemaps = [ |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.BufferFormat" |
| cpp = "::gfx::BufferFormat" |
| }, |
| { |
| mojom = "gfx.mojom.BufferUsage" |
| cpp = "::gfx::BufferUsage" |
| }, |
| { |
| mojom = "gfx.mojom.BufferUsageAndFormat" |
| cpp = "::gfx::BufferUsageAndFormat" |
| }, |
| { |
| mojom = "gfx.mojom.BufferPlane" |
| cpp = "::gfx::BufferPlane" |
| }, |
| { |
| mojom = "gfx.mojom.GpuMemoryBufferHandle" |
| cpp = "::gfx::GpuMemoryBufferHandle" |
| move_only = true |
| nullable_is_same_type = true |
| }, |
| { |
| mojom = "gfx.mojom.GpuMemoryBufferId" |
| cpp = "::gfx::GpuMemoryBufferId" |
| copyable_pass_by_value = true |
| }, |
| { |
| mojom = "gfx.mojom.GpuMemoryBufferType" |
| cpp = "::gfx::GpuMemoryBufferType" |
| }, |
| ] |
| |
| traits_headers = [ "buffer_types_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.ColorSpace" |
| cpp = "::gfx::ColorSpace" |
| }, |
| ] |
| traits_headers = [ "color_space_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.DisplayColorSpaces" |
| cpp = "::gfx::DisplayColorSpaces" |
| }, |
| ] |
| traits_headers = [ "display_color_spaces_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.GpuExtraInfo" |
| cpp = "::gfx::GpuExtraInfo" |
| }, |
| { |
| mojom = "gfx.mojom.ANGLEFeature" |
| cpp = "::gfx::ANGLEFeature" |
| }, |
| ] |
| traits_headers = [ "gpu_extra_info_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.GpuFenceHandle" |
| cpp = "::gfx::GpuFenceHandle" |
| move_only = true |
| nullable_is_same_type = true |
| }, |
| ] |
| traits_headers = [ "gpu_fence_handle_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.HDRStaticMetadata" |
| cpp = "::gfx::HDRStaticMetadata" |
| }, |
| ] |
| traits_headers = [ "hdr_static_metadata_mojom_traits.h" ] |
| traits_public_deps = [ ":shared_mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.PresentationFeedback" |
| cpp = "::gfx::PresentationFeedback" |
| }, |
| ] |
| traits_headers = [ "presentation_feedback_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.SelectionBound" |
| cpp = "::gfx::SelectionBound" |
| }, |
| ] |
| traits_headers = [ "selection_bound_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx/geometry/mojom:mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.SwapTimings" |
| cpp = "::gfx::SwapTimings" |
| }, |
| ] |
| traits_headers = [ "swap_timings_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.Transform" |
| cpp = "::gfx::Transform" |
| }, |
| ] |
| traits_headers = [ "transform_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| ] |
| |
| cpp_typemaps = [ |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.AcceleratedWidget" |
| cpp = "::gfx::AcceleratedWidget" |
| copyable_pass_by_value = true |
| }, |
| ] |
| traits_headers = [ "accelerated_widget_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.CALayerParams" |
| cpp = "::gfx::CALayerParams" |
| }, |
| ] |
| traits_sources = [ "ca_layer_params_mojom_traits.cc" ] |
| traits_headers = [ "ca_layer_params_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.DelegatedInkMetadata" |
| cpp = "::std::unique_ptr<::gfx::DelegatedInkMetadata>" |
| move_only = true |
| nullable_is_same_type = true |
| }, |
| ] |
| traits_sources = [ "delegated_ink_metadata_mojom_traits.cc" ] |
| traits_headers = [ "delegated_ink_metadata_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.DelegatedInkPoint" |
| cpp = "::gfx::DelegatedInkPoint" |
| }, |
| ] |
| traits_sources = [ "delegated_ink_point_mojom_traits.cc" ] |
| traits_headers = [ "delegated_ink_point_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.ColorVolumeMetadata" |
| cpp = "::gfx::ColorVolumeMetadata" |
| }, |
| { |
| mojom = "gfx.mojom.HDRMetadata" |
| cpp = "::gfx::HDRMetadata" |
| }, |
| ] |
| traits_headers = [ "hdr_metadata_mojom_traits.h" ] |
| traits_sources = [ "hdr_metadata_mojom_traits.cc" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.Hinting" |
| cpp = "::gfx::FontRenderParams::Hinting" |
| }, |
| { |
| mojom = "gfx.mojom.SubpixelRendering" |
| cpp = "::gfx::FontRenderParams::SubpixelRendering" |
| }, |
| ] |
| traits_headers = [ "font_render_params_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.OverlayTransform" |
| cpp = "::gfx::OverlayTransform" |
| }, |
| ] |
| traits_headers = [ "overlay_transform_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.OverlayPriorityHint" |
| cpp = "::gfx::OverlayPriorityHint" |
| }, |
| ] |
| traits_headers = [ "overlay_priority_hint_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.RRectF" |
| cpp = "::gfx::RRectF" |
| }, |
| ] |
| traits_headers = [ "rrect_f_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx/geometry/mojom:mojom_traits" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.SwapResult" |
| cpp = "::gfx::SwapResult" |
| }, |
| ] |
| traits_headers = [ "swap_result_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.MaskFilterInfo" |
| cpp = "::gfx::MaskFilterInfo" |
| }, |
| ] |
| traits_sources = [ "mask_filter_info_mojom_traits.cc" ] |
| traits_headers = [ "mask_filter_info_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| ] |
| |
| cpp_typemaps += shared_cpp_typemaps |
| blink_cpp_typemaps = shared_cpp_typemaps |
| blink_cpp_typemaps += [ |
| { |
| types = [ |
| { |
| mojom = "gfx.mojom.DelegatedInkMetadata" |
| cpp = "::std::unique_ptr<::gfx::DelegatedInkMetadata>" |
| move_only = true |
| nullable_is_same_type = true |
| }, |
| ] |
| traits_headers = [ "delegated_ink_metadata_mojom_traits.h" ] |
| traits_public_deps = [ "//ui/gfx" ] |
| }, |
| ] |
| } |
| |
| mojom("native_handle_types") { |
| sources = [ "native_handle_types.mojom" ] |
| if (is_linux || is_chromeos || use_ozone) { |
| enabled_features = [ "supports_native_pixmap" ] |
| } |
| public_deps = [ "//mojo/public/mojom/base" ] |
| generate_java = true |
| |
| shared_cpp_typemap = { |
| types = [ |
| { |
| mojom = "gfx.mojom.NativePixmapHandle" |
| cpp = "::gfx::NativePixmapHandle" |
| move_only = true |
| }, |
| { |
| mojom = "gfx.mojom.NativePixmapPlane" |
| cpp = "::gfx::NativePixmapPlane" |
| move_only = true |
| }, |
| ] |
| traits_headers = [ "native_handle_types_mojom_traits.h" ] |
| traits_public_deps = [ ":native_handle_types_mojom_traits" ] |
| } |
| cpp_typemaps = [ shared_cpp_typemap ] |
| blink_cpp_typemaps = [ shared_cpp_typemap ] |
| } |
| |
| mojom("test_interfaces") { |
| sources = [ "traits_test_service.mojom" ] |
| |
| public_deps = [ ":mojom" ] |
| } |
| |
| component("native_handle_types_mojom_traits") { |
| output_name = "gfx_native_types_shared_mojom_traits" |
| defines = [ "IS_GFX_NATIVE_HANDLE_TYPES_SHARED_MOJOM_TRAITS_IMPL" ] |
| sources = [ |
| "native_handle_types_mojom_traits.cc", |
| "native_handle_types_mojom_traits.h", |
| ] |
| |
| public_deps = [ |
| ":native_handle_types_shared", |
| "//base", |
| "//mojo/public/mojom/base", |
| "//ui/gfx", |
| ] |
| } |
| |
| component("shared_mojom_traits") { |
| output_name = "gfx_shared_mojom_traits" |
| defines = [ "IS_GFX_SHARED_MOJOM_TRAITS_IMPL" ] |
| sources = [ |
| "buffer_types_mojom_traits.cc", |
| "buffer_types_mojom_traits.h", |
| "color_space_mojom_traits.cc", |
| "color_space_mojom_traits.h", |
| "display_color_spaces_mojom_traits.cc", |
| "display_color_spaces_mojom_traits.h", |
| "gpu_extra_info_mojom_traits.cc", |
| "gpu_extra_info_mojom_traits.h", |
| "gpu_fence_handle_mojom_traits.cc", |
| "gpu_fence_handle_mojom_traits.h", |
| "hdr_static_metadata_mojom_traits.cc", |
| "hdr_static_metadata_mojom_traits.h", |
| ] |
| public_deps = [ |
| ":mojom_shared", |
| ":native_handle_types", |
| "//ui/gfx", |
| ] |
| if (use_ozone) { |
| public_deps += [ "//ui/ozone:buildflags" ] |
| } |
| frameworks = [ |
| "CoreFoundation.framework", |
| "IOSurface.framework", |
| ] |
| } |