src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp
changeset 21 4633027730f5
parent 5 627c4a0fd0e7
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
   137     RSgImage *sgImage = tempSgImage.data();
   137     RSgImage *sgImage = tempSgImage.data();
   138     Q_CHECK_PTR(sgImage);
   138     Q_CHECK_PTR(sgImage);
   139 
   139 
   140     TInt err = sgImage->Create(info, 0, 0);
   140     TInt err = sgImage->Create(info, 0, 0);
   141     if (err != KErrNone) {
   141     if (err != KErrNone) {
       
   142         sgImageRenderer->setLastError(err);
   142         return false;
   143         return false;
   143     }
   144     }
   144 
   145 
   145     TSgDrawableId sgImageId = sgImage->Id();
   146     TSgDrawableId sgImageId = sgImage->Id();
   146 
   147 
   147     memcpy(&data.sgImageData.id, &sgImageId.iId, sizeof(data.sgImageData.id));
   148     memcpy(&data.sgImageData.id, &sgImageId.iId, sizeof(data.sgImageData.id));
   148     data.type = SGIMAGE;
   149     data.type = SGIMAGE;
       
   150     data.renderingMode = EHWRendering;
   149 
   151 
   150     bool success = sgImageRenderer->beginRendering(sgImage);
   152     bool success = sgImageRenderer->beginRendering(sgImage);
   151     if (!success) {
   153     if (!success) {
   152         return false;
   154         return false;
   153     }
   155     }
   242     RSgImage *sgImage = tempSgImage.data();
   244     RSgImage *sgImage = tempSgImage.data();
   243     Q_CHECK_PTR(sgImage);
   245     Q_CHECK_PTR(sgImage);
   244 
   246 
   245     TInt err = sgImage->Create(info, 0, 0);
   247     TInt err = sgImage->Create(info, 0, 0);
   246     if (err != KErrNone) {
   248     if (err != KErrNone) {
       
   249         sgImageRenderer->setLastError(err);
   247         return false;
   250         return false;
   248     }
   251     }
   249 
   252 
   250     data.type = SGIMAGE;
   253     data.type = SGIMAGE;
       
   254     data.renderingMode = EHWRendering;
   251     data.sgImageData.width = qRound(multiPieceIconParams.size.width());
   255     data.sgImageData.width = qRound(multiPieceIconParams.size.width());
   252     data.sgImageData.height = qRound(multiPieceIconParams.size.height());
   256     data.sgImageData.height = qRound(multiPieceIconParams.size.height());
   253     data.sgImageData.defaultWidth = defaultSize.width();
   257     data.sgImageData.defaultWidth = defaultSize.width();
   254     data.sgImageData.defaultHeight = defaultSize.height();
   258     data.sgImageData.defaultHeight = defaultSize.height();
   255     //data.sgImageData.sgImage = sgImage;
   259     //data.sgImageData.sgImage = sgImage;
   325     NvgAspectRatioSettings settings = mapKeyAspectRatioToNvgAspectRatio(aspectRatioMode);
   329     NvgAspectRatioSettings settings = mapKeyAspectRatioToNvgAspectRatio(aspectRatioMode);
   326     sgImageRenderer->nvgEngine()->setPreserveAspectRatio(settings.nvgAlignStatusAndAspectRatio, settings.type);
   330     sgImageRenderer->nvgEngine()->setPreserveAspectRatio(settings.nvgAlignStatusAndAspectRatio, settings.type);
   327     sgImageRenderer->nvgEngine()->enableMirroring(mirrored);
   331     sgImageRenderer->nvgEngine()->enableMirroring(mirrored);
   328 
   332 
   329     HbNvgEngine::HbNvgErrorType errorType = sgImageRenderer->nvgEngine()->drawNvg(byteArray, size);
   333     HbNvgEngine::HbNvgErrorType errorType = sgImageRenderer->nvgEngine()->drawNvg(byteArray, size);
       
   334     if (errorType == HbNvgEngine::NvgErrNoMemory){
       
   335         sgImageRenderer->setLastError(KErrNoGraphicsMemory);
       
   336     }
   330     return errorType == HbNvgEngine::NvgErrNone;
   337     return errorType == HbNvgEngine::NvgErrNone;
   331 }
   338 }
   332 
   339