blob: 759d8d0343288b07f68ded41d686f25d21c6e1f5 [file] [log] [blame]
Tom Anderson4ee83742022-07-14 20:58:411# Copyright 2022 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/linux/gtk/gtk.gni")
Tom Anderson4ee83742022-07-14 20:58:416import("//ui/qt/qt.gni")
7
8component("linux_ui") {
9 defines = [ "IS_LINUX_UI_IMPL" ]
10 public = [
Tom Andersona49b45a2022-07-14 22:54:3011 "cursor_theme_manager_observer.h",
Tom Anderson4ee83742022-07-14 20:58:4112 "device_scale_factor_observer.h",
13 "linux_ui.h",
Tom Anderson9c557892022-07-19 17:26:4314 "linux_ui_delegate.h",
15 "linux_ui_delegate_stub.h",
Tom Anderson4ee83742022-07-14 20:58:4116 "nav_button_provider.h",
17 "status_icon_linux.h",
18 "window_button_order_observer.h",
19 "window_frame_provider.h",
20 ]
21 sources = [
22 "linux_ui.cc",
Tom Anderson9c557892022-07-19 17:26:4323 "linux_ui_delegate.cc",
24 "linux_ui_delegate_stub.cc",
Tom Anderson4ee83742022-07-14 20:58:4125 "status_icon_linux.cc",
26 ]
27 deps = [
Tom Andersone3f74fd2022-07-19 17:08:3028 "//base",
Tom Anderson4ee83742022-07-14 20:58:4129 "//build:chromecast_buildflags",
Tom Andersone3f74fd2022-07-19 17:08:3030 "//ui/gfx",
Tom Anderson9c557892022-07-19 17:26:4331 "//ui/gfx/animation",
Tom Anderson4ee83742022-07-14 20:58:4132 "//ui/native_theme",
Tom Anderson4ee83742022-07-14 20:58:4133 ]
Tom Anderson4ee83742022-07-14 20:58:4134 public_deps = [
35 "//printing/buildflags",
36 "//skia",
Tom Anderson4ee83742022-07-14 20:58:4137 ]
38}
39
40source_set("linux_ui_factory") {
41 sources = [
42 "linux_ui_factory.cc",
43 "linux_ui_factory.h",
44 ]
45
46 public_deps = [ ":linux_ui" ]
47
Tom Andersona49b45a2022-07-14 22:54:3048 deps = [
49 "//base",
50 "//ui/base:buildflags",
51 ]
Tom Anderson4ee83742022-07-14 20:58:4152 if (use_gtk) {
53 # This is the only component that can interact with gtk.
54 deps += [ "//ui/gtk" ]
55 }
56 if (use_qt) {
57 deps += [ "//ui/qt" ]
58 }
59}