src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp
changeset 5 627c4a0fd0e7
parent 2 06ff229162e9
child 21 4633027730f5
child 34 ed14f46c0e55
equal deleted inserted replaced
3:11d3954df52a 5:627c4a0fd0e7
   272         mirrored = true;
   272         mirrored = true;
   273         consolidatedIconWidth = multiPieceIconParams.size.toSize().width();
   273         consolidatedIconWidth = multiPieceIconParams.size.toSize().width();
   274     }
   274     }
   275 
   275 
   276     int iconCount = multiPieceIconParams.multiPartIconList.count();
   276     int iconCount = multiPieceIconParams.multiPartIconList.count();
       
   277     GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory);
   277     for (int i = 0; i < iconCount; i++) {
   278     for (int i = 0; i < iconCount; i++) {
   278         HbIconFormatType type = multiPieceIconInfo[i].type;
   279         HbIconFormatType type = multiPieceIconInfo[i].type;
   279         bool success = false;
   280         bool success = false;
   280 
   281 
   281         if (type == NVG) {
   282         if (type == NVG) {
   283             QPoint position = multiPieceIconParams.multiPartIconData.targets[i].topLeft();
   284             QPoint position = multiPieceIconParams.multiPartIconData.targets[i].topLeft();
   284             if (mirrored) {
   285             if (mirrored) {
   285                 int  pieceTopRight = position.x() + multiPieceIconParams.multiPartIconData.targets[i].width();
   286                 int  pieceTopRight = position.x() + multiPieceIconParams.multiPartIconData.targets[i].width();
   286                 position.setX(consolidatedIconWidth - pieceTopRight);
   287                 position.setX(consolidatedIconWidth - pieceTopRight);
   287             }
   288             }
   288 
   289            
   289 
   290             byteArray = QByteArray::fromRawData((char*)manager->base() + multiPieceIconInfo[i].nvgData.offset,
   290             HbIconSource *source = HbThemeServerUtils::getIconSource(multiPieceIconParams.multiPartIconList[i]);
   291                                        multiPieceIconInfo[i].nvgData.dataSize);
   291             QByteArray *sourceByteArray = source->byteArray();
   292            
   292             if( !sourceByteArray ) {
       
   293                 return false;
       
   294             }
       
   295             byteArray = *sourceByteArray;
       
   296             success = renderNvg(byteArray, QRect(position,
   293             success = renderNvg(byteArray, QRect(position,
   297                                                  multiPieceIconParams.multiPartIconData.pixmapSizes[i]), (Qt::AspectRatioMode)multiPieceIconParams.aspectRatioMode,
   294                                                  multiPieceIconParams.multiPartIconData.pixmapSizes[i]), (Qt::AspectRatioMode)multiPieceIconParams.aspectRatioMode,
   298                                 mirrored);
   295                                 mirrored);
   299 #endif
   296 #endif
   300         }
   297         }