#pragma once /* * SPDX-FileCopyrightText: 2003-2007 Craig Drummond * SPDX-License-Identifier: GPL-2.0-or-later */ #include "FcEngine.h" #include "KfiConstants.h" #include #include #include #include class QWheelEvent; namespace KFI { class CCharTip; class CFcEngine; class CFontPreview : public QWidget { Q_OBJECT public: CFontPreview(QWidget *parent); ~CFontPreview() override; void paintEvent(QPaintEvent *) override; void mouseMoveEvent(QMouseEvent *event) override; void wheelEvent(QWheelEvent *e) override; QSize sizeHint() const override; QSize minimumSizeHint() const override; void showFont(const QString &name, // Thsi is either family name, or filename unsigned long styleInfo = KFI_NO_STYLE_INFO, int face = 0); void showFont(); void showFace(int face); CFcEngine *engine() { return m_engine; } public Q_SLOTS: void setUnicodeRange(const QList &r); void zoomIn(); void zoomOut(); Q_SIGNALS: void status(bool); void atMax(bool); void atMin(bool); private: QImage m_image; int m_currentFace, m_lastWidth, m_lastHeight, m_styleInfo; QString m_fontName; QList m_range; QList m_chars; CFcEngine::TChar m_lastChar; CCharTip *m_tip; CFcEngine *m_engine; friend class CCharTip; }; }