1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright 2022 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.
- #ifndef UI_QT_QT_SHIM_H_
- #define UI_QT_QT_SHIM_H_
- #include <QApplication>
- #include <QImage>
- #include <QObject>
- #include "ui/qt/qt_interface.h"
- namespace qt {
- // This class directly interacts with QT. It's required to be a QObject
- // to receive signals from QT via slots.
- class QtShim : public QObject, public QtInterface {
- Q_OBJECT
- public:
- QtShim(QtInterface::Delegate* delegate, int* argc, char** argv);
- ~QtShim() override;
- // QtInterface:
- double GetScaleFactor() const override;
- FontRenderParams GetFontRenderParams() const override;
- FontDescription GetFontDescription() const override;
- Image GetIconForContentType(const String& content_type,
- int size) const override;
- SkColor GetColor(ColorType role, ColorState state) const override;
- SkColor GetFrameColor(ColorState state, bool use_custom_frame) const override;
- Image DrawHeader(int width,
- int height,
- SkColor default_color,
- ColorState state,
- bool use_custom_frame) const override;
- int GetCursorBlinkIntervalMs() const override;
- int GetAnimationDurationMs() const override;
- private slots:
- void FontChanged(const QFont& font);
- void PaletteChanged(const QPalette& palette);
- private:
- QImage DrawHeaderImpl(int width,
- int height,
- SkColor default_color,
- ColorState state,
- bool use_custom_frame) const;
- QtInterface::Delegate* const delegate_;
- QApplication app_;
- };
- } // namespace qt
- #endif // UI_QT_QT_SHIM_H_
|