projects
/
harbour-pedalo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add images to buttons on main page
[harbour-pedalo.git]
/
src
/
imageprovider.cpp
diff --git
a/src/imageprovider.cpp
b/src/imageprovider.cpp
index
431fd23
..
452fa97
100644
(file)
--- a/
src/imageprovider.cpp
+++ b/
src/imageprovider.cpp
@@
-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();
}
}