src/gui/text/qfontdatabase_s60.cpp
branchRCL_3
changeset 7 3f74d0d4af4c
parent 4 3b1da2848fc7
equal deleted inserted replaced
6:dee5afe5301f 7:3f74d0d4af4c
   244         db->s60Store = new QFontDatabaseS60StoreImplementation;
   244         db->s60Store = new QFontDatabaseS60StoreImplementation;
   245 
   245 
   246     QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
   246     QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
   247     
   247     
   248     const int numTypeFaces = QS60Data::screenDevice()->NumTypefaces();
   248     const int numTypeFaces = QS60Data::screenDevice()->NumTypefaces();
   249     const QFontDatabaseS60StoreImplementation *store = dynamic_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store);
   249     const QFontDatabaseS60StoreImplementation *store =
   250     Q_ASSERT(store);
   250             static_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store);
   251     bool fontAdded = false;
   251     bool fontAdded = false;
   252     for (int i = 0; i < numTypeFaces; i++) {
   252     for (int i = 0; i < numTypeFaces; i++) {
   253         TTypefaceSupport typefaceSupport;
   253         TTypefaceSupport typefaceSupport;
   254         QS60Data::screenDevice()->TypefaceSupport(typefaceSupport, i);
   254         QS60Data::screenDevice()->TypefaceSupport(typefaceSupport, i);
   255         CFont *font; // We have to get a font instance in order to know all the details
   255         CFont *font; // We have to get a font instance in order to know all the details
   256         TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
   256         TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
   257         if (QS60Data::screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
   257         if (QS60Data::screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
   258             continue;
   258             continue;
   259         if (font->TypeUid() == KCFbsFontUid) {
   259         if (font->TypeUid() == KCFbsFontUid) {
   260             TOpenFontFaceAttrib faceAttrib;
   260             TOpenFontFaceAttrib faceAttrib;
   261             const CFbsFont *cfbsFont = dynamic_cast<const CFbsFont *>(font);
   261             const CFbsFont *cfbsFont = static_cast<const CFbsFont *>(font);
   262             Q_ASSERT(cfbsFont);
       
   263             cfbsFont->GetFaceAttrib(faceAttrib);
   262             cfbsFont->GetFaceAttrib(faceAttrib);
   264 
   263 
   265             QtFontStyle::Key styleKey;
   264             QtFontStyle::Key styleKey;
   266             styleKey.style = faceAttrib.IsItalic()?QFont::StyleItalic:QFont::StyleNormal;
   265             styleKey.style = faceAttrib.IsItalic()?QFont::StyleItalic:QFont::StyleNormal;
   267             styleKey.weight = faceAttrib.IsBold()?QFont::Bold:QFont::Normal;
   266             styleKey.weight = faceAttrib.IsBold()?QFont::Bold:QFont::Normal;
   331 {
   330 {
   332     Q_UNUSED(handle);
   331     Q_UNUSED(handle);
   333     return false;
   332     return false;
   334 }
   333 }
   335 
   334 
       
   335 bool QFontDatabase::removeAllApplicationFonts()
       
   336 {
       
   337     return false;
       
   338 }
       
   339 
   336 bool QFontDatabase::supportsThreadedFontRendering()
   340 bool QFontDatabase::supportsThreadedFontRendering()
   337 {
   341 {
   338     return false;
   342     return false;
   339 }
   343 }
   340 
   344 
   388 
   392 
   389         const QString fontFamily = desc.family->name;
   393         const QString fontFamily = desc.family->name;
   390         QFontDef request = req;
   394         QFontDef request = req;
   391         request.family = fontFamily;
   395         request.family = fontFamily;
   392 #if defined(QT_NO_FREETYPE)
   396 #if defined(QT_NO_FREETYPE)
   393         const QFontDatabaseS60StoreImplementation *store = dynamic_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store);
   397         const QFontDatabaseS60StoreImplementation *store =
   394         Q_ASSERT(store);
   398                 static_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store);
   395         const QFontEngineS60Extensions *extension = store->extension(fontFamily);
   399         const QFontEngineS60Extensions *extension = store->extension(fontFamily);
   396         fe = new QFontEngineS60(request, extension);
   400         fe = new QFontEngineS60(request, extension);
   397 #else
   401 #else
   398         QFontEngine::FaceId faceId;
   402         QFontEngine::FaceId faceId;
   399         const QtFontFamily * const reqQtFontFamily = db->family(fontFamily);
   403         const QtFontFamily * const reqQtFontFamily = db->family(fontFamily);