qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
maskablepixmapwidget.h
Go to the documentation of this file.
1 /*
2  Copyright © 2014-2019 by The qTox Project Contributors
3 
4  This file is part of qTox, a Qt-based graphical interface for Tox.
5 
6  qTox is libre software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  qTox is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with qTox. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
22 #include <QLabel>
23 
24 class MaskablePixmapWidget final : public QLabel
25 {
26  Q_OBJECT
27 public:
28  MaskablePixmapWidget(QWidget* parent, QSize size, QString maskName = QString());
29  ~MaskablePixmapWidget() override;
30  void autopickBackground();
31  void setClickable(bool clickable);
32  void setPixmap(const QPixmap& pmap);
33  QPixmap getPixmap() const;
34  void setSize(QSize size);
35 
36 signals:
37  void clicked();
38 
39 protected:
40  void mousePressEvent(QMouseEvent*) final;
41 
42 private:
43  void updatePixmap();
44 
45 private:
46  QPixmap pixmap, mask, unscaled;
47  QPixmap* renderTarget;
48  QString maskName;
49  bool clickable;
50 };
MaskablePixmapWidget::unscaled
QPixmap unscaled
Definition: maskablepixmapwidget.h:46
MaskablePixmapWidget::renderTarget
QPixmap * renderTarget
pointer to dynamically call the constructor.
Definition: maskablepixmapwidget.h:47
MaskablePixmapWidget::~MaskablePixmapWidget
~MaskablePixmapWidget() override
Definition: maskablepixmapwidget.cpp:38
MaskablePixmapWidget::getPixmap
QPixmap getPixmap() const
Definition: maskablepixmapwidget.cpp:68
MaskablePixmapWidget::setPixmap
void setPixmap(const QPixmap &pmap)
Definition: maskablepixmapwidget.cpp:54
MaskablePixmapWidget::clickable
bool clickable
Definition: maskablepixmapwidget.h:49
MaskablePixmapWidget::autopickBackground
void autopickBackground()
MaskablePixmapWidget::MaskablePixmapWidget
MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName=QString())
Definition: maskablepixmapwidget.cpp:29
MaskablePixmapWidget::setClickable
void setClickable(bool clickable)
Definition: maskablepixmapwidget.cpp:43
MaskablePixmapWidget
Definition: maskablepixmapwidget.h:24
MaskablePixmapWidget::maskName
QString maskName
Definition: maskablepixmapwidget.h:48
MaskablePixmapWidget::mousePressEvent
void mousePressEvent(QMouseEvent *) final
Definition: maskablepixmapwidget.cpp:93
MaskablePixmapWidget::updatePixmap
void updatePixmap()
Definition: maskablepixmapwidget.cpp:100
MaskablePixmapWidget::mask
QPixmap mask
Definition: maskablepixmapwidget.h:46
MaskablePixmapWidget::setSize
void setSize(QSize size)
Definition: maskablepixmapwidget.cpp:73
MaskablePixmapWidget::pixmap
QPixmap pixmap
Definition: maskablepixmapwidget.h:46
MaskablePixmapWidget::clicked
void clicked()