Add images to buttons on main page
[harbour-pedalo.git] / src / imageprovider.cpp
index 431fd23..452fa97 100644 (file)
@@ -15,6 +15,7 @@ QPixmap ImageProvider::requestPixmap(const QString &id, QSize *size, const QSize
     QPixmap image;
     QStringList parts = id.split('?');
     QPixmap sourcePixmap(imageDir + parts.at(0) + ".png");
     QPixmap image;
     QStringList parts = id.split('?');
     QPixmap sourcePixmap(imageDir + parts.at(0) + ".png");
+    QPixmap alphaMask(sourcePixmap);
 
     if (size) {
         *size = sourcePixmap.size();
 
     if (size) {
         *size = sourcePixmap.size();
@@ -22,8 +23,11 @@ QPixmap ImageProvider::requestPixmap(const QString &id, QSize *size, const QSize
     if (parts.length() > 1) {
         if (QColor::isValidColor(parts.at(1))) {
             QPainter painter(&sourcePixmap);
     if (parts.length() > 1) {
         if (QColor::isValidColor(parts.at(1))) {
             QPainter painter(&sourcePixmap);
-            painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
+            painter.setCompositionMode(QPainter::CompositionMode_SoftLight);
             painter.fillRect(sourcePixmap.rect(), parts.at(1));
             painter.fillRect(sourcePixmap.rect(), parts.at(1));
+
+            painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
+            painter.drawPixmap(sourcePixmap.rect(), alphaMask);
             painter.end();
         }
     }
             painter.end();
         }
     }