blob: 1f8ddb34f9295f869b20914c6a2eab7f95af094d [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_QT_OS_SETTINGS_PROVIDER_QT_H_
#define UI_QT_OS_SETTINGS_PROVIDER_QT_H_
#include "base/memory/raw_ptr.h"
#include "ui/native_theme/os_settings_provider.h"
#include "ui/qt/qt_interface.h"
namespace qt {
class OsSettingsProviderQt : public ui::OsSettingsProvider {
public:
explicit OsSettingsProviderQt(QtInterface* shim);
OsSettingsProviderQt(const OsSettingsProviderQt&) = delete;
OsSettingsProviderQt& operator=(const OsSettingsProviderQt&) = delete;
~OsSettingsProviderQt() override;
// ui::OsSettingsProvider:
ui::NativeTheme::PreferredColorScheme PreferredColorScheme() const override;
base::TimeDelta CaretBlinkInterval() const override;
private:
// IMPORTANT NOTE: All members that use `shim_` must be decorated with
// `DISABLE_CFI_VCALL`.
raw_ptr<QtInterface> shim_;
};
} // namespace qt
#endif // UI_QT_OS_SETTINGS_PROVIDER_QT_H_