summaryrefslogtreecommitdiffstats
path: root/weather/src/pixmapbutton.h
blob: 60c95a331c970eb642bdbabe9d822040b338cd09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef PIXMAPBUTTON_H
#define PIXMAPBUTTON_H

#include <QObject>
#include <QGraphicsPixmapItem>

class PixmapButton: public QObject, public QGraphicsPixmapItem
{
    Q_OBJECT
    Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity);
public:
    PixmapButton(qreal minSize, const QPixmap &pixmap, QGraphicsItem *parent = 0);
    QRectF boundingRect() const;
    QPainterPath shape() const;

public slots:
    void doHide() { hide(); }

signals:
    void clicked();

protected:
    void mousePressEvent(QGraphicsSceneMouseEvent *event);

private:
    const qreal m_minSize;
};

#endif // PIXMAPBUTTON_H