FontRenderer::FontRenderer(QObject *parent,const FontConfig* config) : QObject(parent), m_config(config) { m_ft_library = 0; m_ft_face = 0; connect(config,SIGNAL(fileChanged()),this,SLOT(on_fontFileChanged())); connect(config,SIGNAL(faceIndexChanged()),this,SLOT(on_fontFaceIndexChanged())); connect(config,SIGNAL(sizeChanged()),this,SLOT(on_fontSizeChanged())); connect(config,SIGNAL(charactersChanged()),this,SLOT(on_fontCharactersChanged())); connect(config,SIGNAL(renderingOptionsChanged()),this,SLOT(on_fontOptionsChanged())); int error = FT_Init_FreeType(&m_ft_library); if (error) { qDebug() << "FT_Init_FreeType error " << error; m_ft_library = 0; } }
void FontConfig::setBold(int b) { if (m_bold!=b) { m_bold = b; renderingOptionsChanged(); } }
void FontConfig::setItalic(int b) { if (m_italic!=b) { m_italic = b; renderingOptionsChanged(); } }
void FontConfig::setRenderMissing(bool b) { if (m_render_missing!=b) { m_render_missing = b; renderingOptionsChanged(); } }
void FontConfig::setAntialiased(bool b) { if (m_antialiased!=b) { m_antialiased = b; renderingOptionsChanged(); } }
void FontConfig::setHinting(int h) { if (m_hinting!=h) { m_hinting = h; renderingOptionsChanged(); } }