aboutsummaryrefslogtreecommitdiff
path: root/tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp')
-rw-r--r--tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp181
1 files changed, 0 insertions, 181 deletions
diff --git a/tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp b/tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp
deleted file mode 100644
index a51a802..0000000
--- a/tools/CurveEditor/source/Internal/Window/AlphaDialog.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#include "AlphaDialog.h"
-#include "ui_AlphaDialog.h"
-#include <QtGui/QPaintEvent>
-#include <QtGui/QPainter>
-#include <QtGui/QPainterPath>
-
-namespace nvidia {
-namespace CurveEditor {
-
-const int MARGIN_X = 8;
-const int MARGIN_Y = 8;
-
-const int ALPHA_W = 255;
-const int ALPHA_H = 30;
-
-const int CURSOR_W = 12;
-const int CURSOR_H = 12;
-
-static QImage s_triangleUp;
-
-void InitTriangleResources(int w, int h)
-{
- s_triangleUp = QImage(w, h, QImage::Format_ARGB32);
- s_triangleUp.fill(QColor(0, 0, 0, 0));
-
- // a painter cannot switch device?
- QPainterPath path;
- QPainter painter(&s_triangleUp);
- painter.setRenderHint(QPainter::Antialiasing,true);
- path = QPainterPath(); // trick to clear up a path
- path.moveTo(w>>1, 0);
- path.lineTo(0, h);
- path.lineTo(w, h);
- path.lineTo(w>>1, 0);
- painter.setPen(Qt::NoPen);
- painter.fillPath(path, QBrush(QColor(50, 50, 50)));
-}
-
-//////////////////////////////////////////////////////////////////////////////
-bool isClickedInCursor(const QPoint& cursorPos, const QPoint& p)
-{
- QVector<QPoint> points;
- points.push_back(cursorPos);
- points.push_back(QPoint(cursorPos.x() - (CURSOR_W>>1), cursorPos.y() + CURSOR_H));
- points.push_back(QPoint(cursorPos.x() + (CURSOR_W>>1), cursorPos.y() + CURSOR_H));
- points.push_back(cursorPos);
-
- QPolygon polygon(points);
- return polygon.containsPoint(p, Qt::OddEvenFill);
-}
-
-//////////////////////////////////////////////////////////////////////////////
- int AlphaDialog::getAlpha(int alpha, QWidget *parent)
- {
- AlphaDialog dlg(parent, alpha);
- dlg.exec();
- return dlg._alpha;
- }
-
-//////////////////////////////////////////////////////////////////////////////
-AlphaDialog::AlphaDialog(QWidget *parent, int alpha) :
- QDialog(parent),
- ui(new Ui::AlphaDialog),
- _drag(false),
- _alpha(alpha),
- _xOffset(0)
-{
- ui->setupUi(this);
- setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint);
- setFixedWidth(271);
- setFixedHeight(120);
-
- ui->spinBoxAlpha->setValue(_alpha);
-
- InitTriangleResources(12, 12);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-AlphaDialog::~AlphaDialog()
-{
- delete ui;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-void AlphaDialog::paintEvent(QPaintEvent * e)
-{
- QDialog::paintEvent(e);
-
- QPainter painter;
- painter.begin(this);
- drawAlphaRectangle(painter);
- drawCursor(painter, _alpha + MARGIN_X);
- painter.end();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-void AlphaDialog::mousePressEvent( QMouseEvent* e )
-{
- if(e->button() & Qt::LeftButton)
- {
- QPoint mousePos = e->pos();
-
- if (isClickedInCursor(QPoint(_alpha + MARGIN_X, MARGIN_Y + ALPHA_H), mousePos))
- {
- _xOffset = _alpha + MARGIN_X - mousePos.x();
- _drag = true;
- }
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-void AlphaDialog::mouseReleaseEvent( QMouseEvent* e )
-{
- _drag = false;
- _xOffset = -1;
- update();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-void AlphaDialog::mouseMoveEvent( QMouseEvent* e )
-{
- Qt::MouseButtons buttons = e->buttons();
-
- if(buttons & Qt::LeftButton)
- {
- if (_drag)
- {
- QPoint mousePos = e->pos();
-
- _alpha = mousePos.x() + _xOffset - MARGIN_X;
- if (_alpha < 0)
- {
- _alpha = 0;
- }
- else if(_alpha > ALPHA_W)
- {
- _alpha = ALPHA_W;
- }
- ui->spinBoxAlpha->setValue(_alpha);
- update();
- }
- }
-}
-
-void AlphaDialog::drawAlphaRectangle(QPainter& painter)
-{
- QPointF topLeftPnt(MARGIN_X, MARGIN_Y);
- QPointF topRightPnt(MARGIN_X + ALPHA_W, MARGIN_Y);
- QPointF bottomRightPnt(MARGIN_X + ALPHA_W, MARGIN_Y + ALPHA_H);
- QPointF bottomLeftPnt(MARGIN_X, MARGIN_Y + ALPHA_H);
- QPainterPath path;
- path.moveTo(topLeftPnt);
- path.lineTo(topRightPnt);
- path.lineTo(bottomRightPnt);
- path.lineTo(bottomLeftPnt);
-
- QColor colorLeft(0, 0, 0, 255);
- QColor colorRight(255, 255, 255, 255);
- colorLeft.setAlpha(255);
- colorRight.setAlpha(255);
- QLinearGradient indicatorGradient(topLeftPnt,topRightPnt);
- indicatorGradient.setColorAt(0.0, colorLeft);
- indicatorGradient.setColorAt(1.0, colorRight);
-
- painter.fillPath(path, indicatorGradient);
-}
-
-void AlphaDialog::drawCursor(QPainter& painter, int xPos)
-{
- QRect rect(xPos - (CURSOR_W>>1), MARGIN_Y + ALPHA_H, CURSOR_W, CURSOR_H);
- painter.drawImage(rect, s_triangleUp);
-
-}
-
-void AlphaDialog::on_spinBoxAlpha_valueChanged(int arg1)
-{
- _alpha = arg1;
-}
-
-} // namespace CurveEditor
-} // namespace nvidia \ No newline at end of file