| Index: ui/gfx/BUILD.gn
|
| diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..206292951c4916d3e0d0e397c2e18aecf3709ee8
|
| --- /dev/null
|
| +++ b/ui/gfx/BUILD.gn
|
| @@ -0,0 +1,426 @@
|
| +# 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) {
|
| + import("//build/config/android/config.gni")
|
| +}
|
| +
|
| +component("gfx") {
|
| + sources = [
|
| + "android/device_display_info.cc",
|
| + "android/device_display_info.h",
|
| + "android/gfx_jni_registrar.cc",
|
| + "android/gfx_jni_registrar.h",
|
| + "android/java_bitmap.cc",
|
| + "android/java_bitmap.h",
|
| + "android/scroller.cc",
|
| + "android/scroller.h",
|
| + "android/shared_device_display_info.cc",
|
| + "android/shared_device_display_info.h",
|
| + "android/view_configuration.cc",
|
| + "android/view_configuration.h",
|
| + "animation/animation.cc",
|
| + "animation/animation.h",
|
| + "animation/animation_container.cc",
|
| + "animation/animation_container.h",
|
| + "animation/animation_container_element.h",
|
| + "animation/animation_container_observer.h",
|
| + "animation/animation_delegate.h",
|
| + "animation/linear_animation.cc",
|
| + "animation/linear_animation.h",
|
| + "animation/multi_animation.cc",
|
| + "animation/multi_animation.h",
|
| + "animation/slide_animation.cc",
|
| + "animation/slide_animation.h",
|
| + "animation/throb_animation.cc",
|
| + "animation/throb_animation.h",
|
| + "animation/tween.cc",
|
| + "animation/tween.h",
|
| + "blit.cc",
|
| + "blit.h",
|
| + "break_list.h",
|
| + "canvas.cc",
|
| + "canvas.h",
|
| + "canvas_android.cc",
|
| + "canvas_paint_mac.h",
|
| + "canvas_paint_mac.mm",
|
| + "canvas_paint_win.cc",
|
| + "canvas_paint_win.h",
|
| + "canvas_skia.cc",
|
| + "canvas_skia_paint.h",
|
| + "codec/jpeg_codec.cc",
|
| + "codec/jpeg_codec.h",
|
| + "codec/png_codec.cc",
|
| + "codec/png_codec.h",
|
| + "color_analysis.cc",
|
| + "color_analysis.h",
|
| + "color_profile.cc",
|
| + "color_profile.h",
|
| + "color_profile_mac.cc",
|
| + "color_profile_win.cc",
|
| + "color_utils.cc",
|
| + "color_utils.h",
|
| + "display.cc",
|
| + "display.h",
|
| + "display_observer.cc",
|
| + "display_observer.h",
|
| + "favicon_size.cc",
|
| + "favicon_size.h",
|
| + "font.cc",
|
| + "font.h",
|
| + "font_fallback_win.cc",
|
| + "font_fallback_win.h",
|
| + "font_list.cc",
|
| + "font_list.h",
|
| + "font_list_impl.cc",
|
| + "font_list_impl.h",
|
| + "font_render_params_android.cc",
|
| + "font_render_params_linux.cc",
|
| + "font_render_params_linux.h",
|
| + "font_smoothing_win.cc",
|
| + "font_smoothing_win.h",
|
| + "frame_time.h",
|
| + "gdi_util.cc",
|
| + "gdi_util.h",
|
| + "gfx_export.h",
|
| + "gfx_paths.cc",
|
| + "gfx_paths.h",
|
| + "gpu_memory_buffer.cc",
|
| + "gpu_memory_buffer.h",
|
| + "icon_util.cc",
|
| + "icon_util.h",
|
| + "image/canvas_image_source.cc",
|
| + "image/canvas_image_source.h",
|
| + "image/image.cc",
|
| + "image/image.h",
|
| + "image/image_family.cc",
|
| + "image/image_family.h",
|
| + "image/image_ios.mm",
|
| + "image/image_mac.mm",
|
| + "image/image_png_rep.cc",
|
| + "image/image_png_rep.h",
|
| + "image/image_skia.cc",
|
| + "image/image_skia.h",
|
| + "image/image_skia_operations.cc",
|
| + "image/image_skia_operations.h",
|
| + "image/image_skia_rep.cc",
|
| + "image/image_skia_rep.h",
|
| + "image/image_skia_source.h",
|
| + "image/image_skia_util_ios.h",
|
| + "image/image_skia_util_ios.mm",
|
| + "image/image_skia_util_mac.h",
|
| + "image/image_skia_util_mac.mm",
|
| + "image/image_util.cc",
|
| + "image/image_util.h",
|
| + "image/image_util_ios.mm",
|
| + "interpolated_transform.cc",
|
| + "interpolated_transform.h",
|
| + "linux_font_delegate.cc",
|
| + "linux_font_delegate.h",
|
| + "mac/scoped_ns_disable_screen_updates.h",
|
| + "native_widget_types.h",
|
| + "nine_image_painter.cc",
|
| + "nine_image_painter.h",
|
| + "ozone/dri/dri_skbitmap.cc",
|
| + "ozone/dri/dri_skbitmap.h",
|
| + "ozone/dri/dri_surface.cc",
|
| + "ozone/dri/dri_surface.h",
|
| + "ozone/dri/dri_surface_factory.cc",
|
| + "ozone/dri/dri_surface_factory.h",
|
| + "ozone/dri/dri_vsync_provider.cc",
|
| + "ozone/dri/dri_vsync_provider.h",
|
| + "ozone/dri/dri_wrapper.cc",
|
| + "ozone/dri/dri_wrapper.h",
|
| + "ozone/dri/hardware_display_controller.cc",
|
| + "ozone/dri/hardware_display_controller.h",
|
| + "ozone/impl/file_surface_factory.cc",
|
| + "ozone/impl/file_surface_factory.h",
|
| + "ozone/surface_factory_ozone.cc",
|
| + "ozone/surface_factory_ozone.h",
|
| + "ozone/surface_ozone_base.cc",
|
| + "ozone/surface_ozone_base.h",
|
| + "ozone/surface_ozone.h",
|
| + "ozone/overlay_candidates_ozone.cc",
|
| + "ozone/overlay_candidates_ozone.h",
|
| + "pango_util.cc",
|
| + "pango_util.h",
|
| + "path.cc",
|
| + "path.h",
|
| + "path_aura.cc",
|
| + "path_win.cc",
|
| + "path_win.h",
|
| + "path_x11.cc",
|
| + "path_x11.h",
|
| + "platform_font.h",
|
| + "platform_font_android.cc",
|
| + "platform_font_ios.h",
|
| + "platform_font_ios.mm",
|
| + "platform_font_mac.h",
|
| + "platform_font_mac.mm",
|
| + "platform_font_ozone.cc",
|
| + "platform_font_pango.cc",
|
| + "platform_font_pango.h",
|
| + "platform_font_win.cc",
|
| + "platform_font_win.h",
|
| + "range/range.cc",
|
| + "range/range.h",
|
| + "range/range_mac.mm",
|
| + "range/range_win.cc",
|
| + "render_text.cc",
|
| + "render_text.h",
|
| + "render_text_mac.cc",
|
| + "render_text_mac.h",
|
| + "render_text_ozone.cc",
|
| + "render_text_pango.cc",
|
| + "render_text_pango.h",
|
| + "render_text_win.cc",
|
| + "render_text_win.h",
|
| + "scoped_canvas.h",
|
| + "scoped_cg_context_save_gstate_mac.h",
|
| + "scoped_ns_graphics_context_save_gstate_mac.h",
|
| + "scoped_ns_graphics_context_save_gstate_mac.mm",
|
| + "scoped_ui_graphics_push_context_ios.h",
|
| + "scoped_ui_graphics_push_context_ios.mm",
|
| + "screen.cc",
|
| + "screen.h",
|
| + "screen_android.cc",
|
| + "screen_aura.cc",
|
| + "screen_ios.mm",
|
| + "screen_mac.mm",
|
| + "screen_win.cc",
|
| + "screen_win.h",
|
| + "scrollbar_size.cc",
|
| + "scrollbar_size.h",
|
| + "selection_model.cc",
|
| + "selection_model.h",
|
| + "sequential_id_generator.cc",
|
| + "sequential_id_generator.h",
|
| + "shadow_value.cc",
|
| + "shadow_value.h",
|
| + "skbitmap_operations.cc",
|
| + "skbitmap_operations.h",
|
| + "skia_util.cc",
|
| + "skia_util.h",
|
| + "switches.cc",
|
| + "switches.h",
|
| + "sys_color_change_listener.cc",
|
| + "sys_color_change_listener.h",
|
| + "text_constants.h",
|
| + "text_elider.cc",
|
| + "text_elider.h",
|
| + "text_utils.cc",
|
| + "text_utils.h",
|
| + "text_utils_android.cc",
|
| + "text_utils_ios.mm",
|
| + "text_utils_skia.cc",
|
| + "transform.cc",
|
| + "transform.h",
|
| + "transform_util.cc",
|
| + "transform_util.h",
|
| + "ui_gfx_exports.cc",
|
| + "utf16_indexing.cc",
|
| + "utf16_indexing.h",
|
| + "vsync_provider.h",
|
| + "win/dpi.cc",
|
| + "win/dpi.h",
|
| + "win/hwnd_util.cc",
|
| + "win/hwnd_util.h",
|
| + "win/scoped_set_map_mode.h",
|
| + "win/singleton_hwnd.cc",
|
| + "win/singleton_hwnd.h",
|
| + "win/window_impl.cc",
|
| + "win/window_impl.h",
|
| + "x/x11_atom_cache.cc",
|
| + "x/x11_atom_cache.h",
|
| + "x/x11_error_tracker.cc",
|
| + "x/x11_error_tracker.h",
|
| + "x/x11_types.cc",
|
| + "x/x11_types.h",
|
| + ]
|
| +
|
| + defines = [ "GFX_IMPLEMENTATION" ]
|
| +
|
| + deps = [
|
| + "//base",
|
| + "//base:i18n",
|
| + "//base:base_static",
|
| + "//base/third_party/dynamic_annotations",
|
| + "//skia",
|
| + "//third_party/icu:icui18n",
|
| + "//third_party/icu:icuuc",
|
| + "//third_party/libpng",
|
| + "//third_party/zlib",
|
| + "//ui/gfx/geometry",
|
| + ]
|
| +
|
| + # iOS.
|
| + if (is_ios) {
|
| + sources -= [
|
| + "codec/jpeg_codec.cc",
|
| + "codec/jpeg_codec.h",
|
| + ]
|
| + } else {
|
| + deps += [ "//third_party/libjpeg" ]
|
| + }
|
| +
|
| + # Android.
|
| + if (is_android) {
|
| + sources -= [
|
| + "animation/throb_animation.cc",
|
| + "canvas_skia.cc"
|
| + "display_observer.cc",
|
| + "selection_model.cc",
|
| + ]
|
| +
|
| + if (use_aura) {
|
| + sources -= [ "screen_android.cc" ]
|
| + } else {
|
| + sources -= [ "path.cc" ]
|
| + }
|
| +
|
| + if (!is_android_webview_build) {
|
| + deps += [ "//base:base_java" ]
|
| + }
|
| +
|
| + deps += [ ":jni_headers" ]
|
| + libs = [
|
| + "android",
|
| + "jnigraphics",
|
| + ]
|
| + }
|
| +
|
| + if (is_android || is_ios) {
|
| + sources -= [
|
| + "render_text.cc",
|
| + "render_text.h",
|
| + "text_utils_skia.cc",
|
| + ]
|
| + }
|
| +
|
| + # Windows.
|
| + if (is_win) {
|
| + cflags = [
|
| + "/wd4267", # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int.
|
| + "/wd4324", # Structure was padded due to __declspec(align()), which is
|
| + # uninteresting.
|
| + ]
|
| + } else {
|
| + sources -= [
|
| + "gdi_util.cc",
|
| + "gdi_util.h",
|
| + "icon_util.cc",
|
| + "icon_util.h",
|
| + ]
|
| + }
|
| +
|
| + # Linux.
|
| + if (is_linux) {
|
| + configs += [ "//build/config/linux:fontconfig" ]
|
| + }
|
| +
|
| + # Ozone stuff.
|
| + if (!use_ozone) {
|
| + sources -= [
|
| + "ozone/impl/file_surface_factory.cc",
|
| + "ozone/impl/file_surface_factory.h",
|
| + "ozone/surface_factory_ozone.cc",
|
| + "ozone/surface_factory_ozone.h",
|
| + "ozone/surface_ozone_base.cc",
|
| + "ozone/surface_ozone_base.h",
|
| + "ozone/surface_ozone.h",
|
| + "ozone/overlay_candidates_ozone.cc",
|
| + "ozone/overlay_candidates_ozone.h",
|
| + ]
|
| + }
|
| + if (ozone_platform_dri) {
|
| + configs += [ "//build/config/linux:dridrm" ]
|
| + } else {
|
| + sources -= [
|
| + "ozone/dri/dri_skbitmap.cc",
|
| + "ozone/dri/dri_skbitmap.h",
|
| + "ozone/dri/dri_surface.cc",
|
| + "ozone/dri/dri_surface.h",
|
| + "ozone/dri/dri_surface_factory.cc",
|
| + "ozone/dri/dri_surface_factory.h",
|
| + "ozone/dri/dri_vsync_provider.cc",
|
| + "ozone/dri/dri_vsync_provider.h",
|
| + "ozone/dri/dri_wrapper.cc",
|
| + "ozone/dri/dri_wrapper.h",
|
| + "ozone/dri/hardware_display_controller.cc",
|
| + "ozone/dri/hardware_display_controller.h",
|
| + ]
|
| + }
|
| +
|
| + if (!use_aura) {
|
| + sources -= [
|
| + "nine_image_painter.cc",
|
| + "nine_image_painter.h",
|
| + ]
|
| + }
|
| + if (use_x11) {
|
| + configs += [ "//build/config/linux:x11" ]
|
| + }
|
| + if (use_pango) {
|
| + sources -= [
|
| + "platform_font_ozone.cc",
|
| + "render_text_ozone.cc",
|
| + ]
|
| + configs += [ "//build/config/linux:pangocairo" ]
|
| + }
|
| +}
|
| +
|
| +source_set("gfx_test_support") {
|
| + sources = [
|
| + "test/gfx_util.cc",
|
| + "test/gfx_util.h",
|
| + "test/ui_cocoa_test_helper.h",
|
| + "test/ui_cocoa_test_helper.mm",
|
| + ]
|
| +
|
| + deps = [
|
| + "//base",
|
| + "//skia",
|
| + "//testing/gtest",
|
| + ]
|
| +
|
| + if (is_ios) {
|
| + # The cocoa files don't apply to iOS.
|
| + sources -= [
|
| + "test/ui_cocoa_test_helper.h",
|
| + "test/ui_cocoa_test_helper.mm",
|
| + ]
|
| + }
|
| +}
|
| +
|
| +test("gfx_unittests") {
|
| + sources = [
|
| + "geometry/box_unittest.cc",
|
| + "geometry/cubic_bezier_unittest.cc",
|
| + "geometry/insets_unittest.cc",
|
| + "geometry/matrix3_unittest.cc",
|
| + "geometry/point_unittest.cc",
|
| + "geometry/point3_unittest.cc",
|
| + "geometry/quad_unittest.cc",
|
| + "geometry/rect_unittest.cc",
|
| + "geometry/safe_integer_conversions_unittest.cc",
|
| + "geometry/size_unittest.cc",
|
| + "geometry/vector2d_unittest.cc",
|
| + "geometry/vector3d_unittest.cc",
|
| + "range/range_unittest.cc",
|
| + ]
|
| +
|
| + deps = [
|
| + ":gfx",
|
| + "//base",
|
| + "//base/test:run_all_unittests",
|
| + "//base/test:run_all_unittests",
|
| + "//testing/gtest",
|
| + "//ui/gfx/geometry",
|
| + ]
|
| +}
|
| +
|
| +if (is_android) {
|
| + # TODO(brettw) gfx_jni_headers
|
| +}
|
|
|