rust-ttf-parser/testing-tools/font-view/mainwindow.h

55 lines
1005 B
C++

#pragma once
#include <QMainWindow>
#ifdef WITH_FREETYPE
#include "freetypefont.h"
#endif
#ifdef WITH_FREETYPE
#include "harfbuzzfont.h"
#endif
#include "ttfparserfont.h"
namespace Ui { class MainWindow; }
class QSlider;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
void loadFont(const QString &path);
void reloadGlyphs();
void onVariationChanged();
private slots:
void on_chBoxDrawBboxes_stateChanged(int flag);
void on_chBoxDrawTtfParser_stateChanged(int flag);
void on_chBoxDrawFreeType_stateChanged(int flag);
void on_chBoxDrawHarfBuzz_stateChanged(int flag);
private:
struct VariationSlider
{
QSlider *slider;
Tag tag;
};
Ui::MainWindow * const ui;
QVector<VariationSlider> m_variationSliders;
TtfParserFont m_ttfpFont;
#ifdef WITH_FREETYPE
FreeTypeFont m_ftFont;
#endif
#ifdef WITH_HARFBUZZ
HarfBuzzFont m_hbFont;
#endif
};