| # Copyright 2019 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/buildflag_header.gni") |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//testing/test.gni") |
| import("//ui/base/ui_features.gni") |
| |
| source_set("color_headers") { |
| sources = [ |
| "color_id.h", |
| "color_id_macros.inc", |
| "color_id_map_macros.inc", |
| "color_mixer.h", |
| "color_provider.h", |
| "color_provider_manager.h", |
| "color_provider_utils.h", |
| ] |
| |
| public_deps = [ |
| ":mojom", |
| "//base", |
| "//skia", |
| "//ui/gfx:color_utils", |
| ] |
| } |
| |
| component("color_switches") { |
| sources = [ |
| "color_switches.cc", |
| "color_switches.h", |
| ] |
| |
| defines = [ "IS_COLOR_SWITCHES_IMPL" ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| component("color") { |
| sources = [ |
| "color_mixer.cc", |
| "color_provider.cc", |
| "color_provider_source.cc", |
| "color_provider_source.h", |
| "color_provider_source_observer.cc", |
| "color_provider_source_observer.h", |
| "color_provider_utils.cc", |
| "color_provider_utils.h", |
| "color_recipe.cc", |
| "color_recipe.h", |
| "color_transform.cc", |
| "color_transform.h", |
| ] |
| |
| defines = [ "IS_COLOR_IMPL" ] |
| |
| public_deps = [ |
| ":color_headers", |
| "//base", |
| "//skia", |
| "//ui/gfx:color_utils", |
| ] |
| |
| if (is_mac) { |
| frameworks = [ "AppKit.framework" ] |
| sources += [ |
| "mac/native_color_transform.mm", |
| "mac/system_color_utils.h", |
| "mac/system_color_utils.mm", |
| ] |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ "color_test_ids.h" ] |
| |
| deps = [ ":color_headers" ] |
| } |
| |
| test("color_unittests") { |
| testonly = true |
| |
| sources = [ |
| "color_mixer_unittest.cc", |
| "color_provider_manager_unittest.cc", |
| "color_provider_source_observer_unittest.cc", |
| "color_provider_unittest.cc", |
| "color_provider_utils_unittest.cc", |
| "color_recipe_unittest.cc", |
| "color_transform_unittest.cc", |
| "run_all_unittests.cc", |
| ] |
| |
| deps = [ |
| ":color", |
| ":mixers", |
| ":test_support", |
| "//base/test:test_support", |
| "//testing/gtest", |
| ] |
| } |
| |
| if (is_win) { |
| component("accent_color_observer") { |
| sources = [ |
| "win/accent_color_observer.cc", |
| "win/accent_color_observer.h", |
| ] |
| |
| defines = [ "IS_COLOR_IMPL" ] |
| |
| public_deps = [ |
| "//base", |
| "//third_party/abseil-cpp:absl", |
| ] |
| |
| deps = [ |
| "//skia", |
| "//ui/gfx:color_utils", |
| ] |
| } |
| } |
| |
| component("mixers") { |
| sources = [ |
| "color_mixers.cc", |
| "color_mixers.h", |
| "color_provider_manager.cc", |
| "color_provider_manager.h", |
| "core_default_color_mixer.cc", |
| "core_default_color_mixer.h", |
| "native_color_mixers.cc", |
| "native_color_mixers.h", |
| "ui_color_mixer.cc", |
| "ui_color_mixer.h", |
| ] |
| |
| defines = [ "IS_COLOR_IMPL" ] |
| |
| deps = [ |
| ":color", |
| ":color_headers", |
| "//skia", |
| "//ui/gfx:color_utils", |
| ] |
| |
| public_deps = [ "//base" ] |
| |
| if (is_chromeos) { |
| sources += [ "chromeos/native_color_mixers_chromeos.cc" ] |
| } else if (is_linux) { |
| sources += [ "linux/native_color_mixers_linux.cc" ] |
| } else if (is_mac) { |
| frameworks = [ "AppKit.framework" ] |
| sources += [ |
| "mac/native_color_mixers_mac.mm", |
| "mac/scoped_current_nsappearance.h", |
| "mac/scoped_current_nsappearance.mm", |
| ] |
| } else if (is_win) { |
| sources += [ "win/native_color_mixers_win.cc" ] |
| deps += [ |
| ":accent_color_observer", |
| ":color_switches", |
| ] |
| } |
| } |
| |
| mojom("mojom") { |
| sources = [ "color_id.mojom" ] |
| } |