aboutsummaryrefslogtreecommitdiff
path: root/tools/CurveEditor/source/Internal/Window/AlphaDialog.h
blob: 985d0b4d44e45972b51a9c937ae3a970d890fac3 (plain) (blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef ALPHADIALOG_H
#define ALPHADIALOG_H

#include <QtWidgets/QDialog>

namespace Ui {
    class AlphaDialog;
}

namespace nvidia {
namespace CurveEditor {

class AlphaDialog : public QDialog
{
    Q_OBJECT

public:
    static int getAlpha(int alpha = 255, QWidget *parent = 0);

    explicit AlphaDialog(QWidget *parent = 0, int alpha = 255);
    ~AlphaDialog();

protected:
    // QWidget events
    virtual void paintEvent(QPaintEvent * e);

    virtual void mousePressEvent(QMouseEvent* e);
    virtual void mouseReleaseEvent(QMouseEvent* e);
    virtual void mouseMoveEvent(QMouseEvent* e);
private slots:
    void on_spinBoxAlpha_valueChanged(int arg1);

private:
    void drawAlphaRectangle(QPainter& painter);
    void drawCursor(QPainter& painter, int xPos);

private:
    Ui::AlphaDialog *ui;
    bool                    _drag;
    int                     _alpha;
    int                     _xOffset;
};

} // namespace CurveEditor
} // namespace nvidia

#endif // ALPHADIALOG_H