Logo Search packages:      
Sourcecode: fbdesk version File versions  Download package

void FbTk::Font::rotate ( float  angle  ) 

Rotate font in any angle (currently only 90 degrees supported and just XFont implementation)

Definition at line 184 of file Font.cc.

References isRotated(), m_angle, m_fontimp, m_fontstr, m_rotated, and m_utf8mode.

                             {
#ifdef USE_XFT
    // if we are rotated and we are changing to horiz text 
    // and we were antialiased before we rotated then change to XftFontImp
    if (isRotated() && angle == 0 && isAntialias())
        m_fontimp.reset(new XftFontImp(m_fontstr.c_str(), m_utf8mode));
#endif // USE_XFT
    // change to a font imp that handles rotated fonts (i.e just XFontImp at the moment)
    // if we're going to rotate this font
    if (angle != 0 && isAntialias() && !isRotated()) {
        m_fontimp.reset(new XFontImp(m_fontstr.c_str()));
        if (!m_fontimp->loaded()) // if it failed to load font, try default font fixed
            m_fontimp->load("fixed");
    }

    //Note: only XFontImp implements FontImp::rotate
    m_fontimp->rotate(angle);

    m_rotated = (angle == 0 ? false : true);
    m_angle = angle;
}


Generated by  Doxygen 1.6.0   Back to index