blob: bc9b81da7fc52728486f1735e3d34a422c770fcb [file] [log] [blame]
Tom Anderson80d3ad42022-05-03 12:09:271// 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
Tom Anderson4ee83742022-07-14 20:58:415#ifndef UI_LINUX_LINUX_UI_FACTORY_H_
6#define UI_LINUX_LINUX_UI_FACTORY_H_
Tom Anderson80d3ad42022-05-03 12:09:277
Tom Anderson074a5d412022-08-30 18:54:538#include "base/component_export.h"
Tom Anderson80d3ad42022-05-03 12:09:279
Tom Anderson992d9872022-07-14 21:24:5010namespace ui {
11
12class LinuxUi;
Tom Anderson074a5d412022-08-30 18:54:5313enum class SystemTheme : int;
Tom Anderson80d3ad42022-05-03 12:09:2714
Tom Anderson074a5d412022-08-30 18:54:5315// Returns a LinuxUi for the default toolkit. May create a LinuxUi instance if
16// one does not exist. May return nullptr if no toolkits are available.
17COMPONENT_EXPORT(LINUX_UI_FACTORY)
18LinuxUi* GetDefaultLinuxUi();
19
20COMPONENT_EXPORT(LINUX_UI_FACTORY)
21LinuxUi* GetLinuxUi(SystemTheme system_theme);
22
23COMPONENT_EXPORT(LINUX_UI_FACTORY)
24SystemTheme GetDefaultSystemTheme();
Tom Anderson992d9872022-07-14 21:24:5025
26} // namespace ui
Tom Anderson80d3ad42022-05-03 12:09:2727
Tom Anderson4ee83742022-07-14 20:58:4128#endif // UI_LINUX_LINUX_UI_FACTORY_H_