Skip to content
Snippets Groups Projects
ColorImageProvider.cpp 640 B
Newer Older
  • Learn to ignore specific revisions
  • #include "ColorImageProvider.h"
    
    #include <QPainter>
    
    QPixmap
    ColorImageProvider::requestPixmap(const QString &id, QSize *size, const QSize &)
    {
            auto args = id.split('?');
    
            QPixmap source(args[0]);
    
            if (size)
                    *size = QSize(source.width(), source.height());
    
            if (args.size() < 2)
                    return source;
    
            QColor color(args[1]);
    
            QPixmap colorized = source;
            QPainter painter(&colorized);
            painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
            painter.fillRect(colorized.rect(), color);
            painter.end();
    
            return colorized;
    }