Source Code (Use browser search to find items of interest.)

Class Index

qt'QtFontStyle (./qt-2.1.0/src/kernel/qfontdatabase.cpp:120)

class QtFontStyle
{
public:
    QtFontStyle( QtFontCharSet *prnt, const QString &n )
		       { p                = prnt;
			 nm		  = n;
			 bitmapScalable   = FALSE;
			 smoothlyScalable = FALSE;
			 weightDirty      = TRUE;
			 ital             = FALSE;
			 lesserItal       = FALSE;
			 weightVal        = 0;
			 weightDirty      = TRUE;
			 sizesDirty       = TRUE; }

    QFont font( const QString &family, int pointSize ) const;  // ### fttb
    QFont font( int pointSize ) const;

    const QString &name() const { return nm; }
    const QtFontCharSet *parent() const { return p; }

    const QValueList<int> &pointSizes() const;
    const QValueList<int> &smoothSizes() const;
    static const QValueList<int> &standardSizes();

    int weight() const;
    bool italic() const { return ital || lesserItal; }
    bool lesserItalic() const { return lesserItal; }

    bool isBitmapScalable() const { return bitmapScalable; }
    bool isSmoothlyScalable() const { return smoothlyScalable; }


private:
    const QValueList<int> &storedSizes() const;

    void addPointSize( int size );
    void setSmoothlyScalable();
    void setBitmapScalable();


    QtFontCharSet *p;
    QString nm;

    bool bitmapScalable;
    bool smoothlyScalable;

    bool ital;
    bool lesserItal;
    QCString weightString;
    int  weightVal;
    bool weightDirty;
    bool sizesDirty;

    QMap<int, int> sizeMap;
    QValueList<int> sizeList;

    friend void QFontDatabase::createDatabase();
#ifdef _WS_WIN_
    friend void newWinFont( void * p );
    friend void add_style( QtFontCharSet *charSet, const QString& styleName,
		bool italic, bool lesserItalic, int weight );
#endif
};


qt'QtFontStyle::font() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:367)

QFont QtFontStyle::font( const QString & family, int pointSize ) const
{
    QFont::CharSet charSet = getCharSet( parent()->name() );  // ### fttb

    QFont f( family, pointSize, weight(), italic() );
    f.setCharSet( charSet );
    return f;
}


qt'QtFontStyle::font() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:376)

QFont QtFontStyle::font( int pointSize ) const
{
    return font( parent()->parent()->name(), pointSize );
}


qt'QtFontStyle::pointSizes() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:381)

const QValueList<int> &QtFontStyle::pointSizes() const
{
    if ( smoothlyScalable || bitmapScalable )
	return standardSizes();
    else
	return storedSizes();
}


qt'QtFontStyle::smoothSizes() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:389)

const QValueList<int> &QtFontStyle::smoothSizes() const
{
    if ( smoothlyScalable )
	return standardSizes();
    else
	return storedSizes();
}


qt'QtFontStyle::weight() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:397)

int QtFontStyle::weight() const
{
    if ( weightDirty ) {
	QtFontStyle *that = (QtFontStyle*)this; // mutable function
	that->weightVal = qFontGetWeight( weightString, TRUE );
	that->weightDirty = FALSE;
    }
    return weightVal;
}


qt'QtFontStyle::storedSizes() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:407)

const QValueList<int> &QtFontStyle::storedSizes() const
{
    if ( sizesDirty ) {
	QtFontStyle *that = (QtFontStyle*)this;  // Mutable function
	QMap<int, int>::ConstIterator it = sizeMap.begin();
	for( ; it != sizeMap.end() ; ++it )
	    that->sizeList.append( *it );
	that->sizesDirty = FALSE;
    }
    return sizeList;
}


qt'QtFontStyle::standardSizes() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:419)

const QValueList<int> &QtFontStyle::standardSizes()
{
    static int s[]={ 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28,
		     36, 48, 72, 0 };
    static bool first = TRUE;
    static QValueList<int> sList;
    if ( first ) {
	first = FALSE;
	int i = 0;
	while( s[i] )
	    sList.append( s[i++] );
    }
    return sList;
}


qt'QtFontStyle::addPointSize() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:434)

void QtFontStyle::addPointSize( int pointSize )
{
    if ( smoothlyScalable )
	return;
    sizeMap.insert( pointSize, pointSize );
}


qt'QtFontStyle::setSmoothlyScalable() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:441)

void QtFontStyle::setSmoothlyScalable()
{
    smoothlyScalable = TRUE;
    sizeMap.clear();
}


qt'QtFontStyle::setBitmapScalable() (./qt-2.1.0/src/kernel/qfontdatabase.cpp:447)

void QtFontStyle::setBitmapScalable()
{
    bitmapScalable = TRUE;
}

static