Browse Source

MaskablePixmapWidget: background-color argument

pull/321/head
krepa098 11 years ago
parent
commit
5411db5bec
  1. 5
      widget/maskablepixmapwidget.cpp
  2. 3
      widget/maskablepixmapwidget.h

5
widget/maskablepixmapwidget.cpp

@ -17,8 +17,9 @@ @@ -17,8 +17,9 @@
#include "maskablepixmapwidget.h"
#include <QPainter>
MaskablePixmapWidget::MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName)
MaskablePixmapWidget::MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName, QColor background)
: QWidget(parent)
, backgroundColor(background)
{
setFixedSize(size);
mask = QPixmap(maskName).scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
@ -43,7 +44,7 @@ void MaskablePixmapWidget::paintEvent(QPaintEvent *) @@ -43,7 +44,7 @@ void MaskablePixmapWidget::paintEvent(QPaintEvent *)
QPainter painter(&tmp);
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
painter.fillRect(0,0,width(),height(),Qt::white);
painter.fillRect(0,0,width(),height(),backgroundColor);
painter.drawPixmap(offset,pixmap);
painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
painter.drawPixmap(0,0,mask);

3
widget/maskablepixmapwidget.h

@ -23,7 +23,7 @@ class MaskablePixmapWidget : public QWidget @@ -23,7 +23,7 @@ class MaskablePixmapWidget : public QWidget
{
Q_OBJECT
public:
MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName);
MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName, QColor background = Qt::white);
void setPixmap(const QPixmap &pmap);
QPixmap getPixmap() const;
@ -40,6 +40,7 @@ private: @@ -40,6 +40,7 @@ private:
QPixmap mask;
QSize size;
QString maskName;
QColor backgroundColor;
};
#endif // MASKABLEPIXMAPWIDGET_H

Loading…
Cancel
Save