diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-09-05 08:26:51 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-09-05 08:33:03 +0200 |
commit | d822e4f94df79b83040660c0be7eabaa4e90b577 (patch) | |
tree | 78a260b767685cffe0c11d514dd434f7106daa20 /qfunctionconfigurator | |
parent | a1783d425448394e6962f75f7aadd22b85318c59 (diff) |
qfc: more gray colors when graph is disabled
Sponsored-by: TrackHat
Diffstat (limited to 'qfunctionconfigurator')
-rw-r--r-- | qfunctionconfigurator/qfunctionconfigurator.cpp | 31 | ||||
-rw-r--r-- | qfunctionconfigurator/qfunctionconfigurator.h | 2 |
2 files changed, 26 insertions, 7 deletions
diff --git a/qfunctionconfigurator/qfunctionconfigurator.cpp b/qfunctionconfigurator/qfunctionconfigurator.cpp index 8a61c8f6..e62049db 100644 --- a/qfunctionconfigurator/qfunctionconfigurator.cpp +++ b/qfunctionconfigurator/qfunctionconfigurator.cpp @@ -49,7 +49,12 @@ void QFunctionConfigurator::drawBackground() painter.setFont(font); QFontMetrics metrics(font); - QPen pen(QColor(55, 104, 170, 127), 1, Qt::SolidLine); + QColor color__(176, 190, 209, 127); + + if (!isEnabled()) + color__ = QColor(70, 90, 100, 96); + + QPen pen(color__, 1, Qt::SolidLine); const int xstep = 10, ystep = 10; const double maxx = _config->maxInput(); @@ -126,13 +131,27 @@ void QFunctionConfigurator::drawFunction() QList<QPointF> points = _config->getPoints(); + const int alpha = !isEnabled() ? 64 : 120; for (int i = 0; i < points.size(); i++) { drawPoint(&painter, point_to_pixel(points[i]), - QColor(200, 200, 210, 120)); + QColor(200, 200, 210, alpha), + isEnabled() ? QColor(50, 100, 120, 200) : QColor(200, 200, 200, 96)); + } + + QColor color = spline_color; + + if (!isEnabled()) + { + const int avg = 176; + auto color_ = color; + color = QColor(color_.red() * .5 + avg * .5, + color_.green() * .5 + avg * .5, + color_.blue() * .5 + avg * .5, + 96); } - QPen pen(spline_color, 1.2, Qt::SolidLine); + QPen pen(color, 1.2, Qt::SolidLine); const double max = _config->maxInput(); const double step = std::max(1e-2, max / 1000.); @@ -181,17 +200,17 @@ void QFunctionConfigurator::paintEvent(QPaintEvent *e) // Show that point on the graph, with some lines to assist. // This new feature is very handy for tweaking the curves! QPointF last; - if (_config->getLastPoint(last)) { + if (_config->getLastPoint(last) && isEnabled()) { QPointF pixel_pos = point_to_pixel(last); drawPoint(&p, pixel_pos, QColor(255, 0, 0, 120)); } } } -void QFunctionConfigurator::drawPoint(QPainter *painter, const QPointF &pos, QColor colBG ) +void QFunctionConfigurator::drawPoint(QPainter *painter, const QPointF &pos, QColor colBG, QColor border) { painter->save(); - painter->setPen(QColor(50, 100, 120, 200)); + painter->setPen(border); painter->setBrush( colBG ); painter->drawEllipse(QRectF(pos.x() - pointSize, pos.y() - pointSize, diff --git a/qfunctionconfigurator/qfunctionconfigurator.h b/qfunctionconfigurator/qfunctionconfigurator.h index 845dd29c..fab452a7 100644 --- a/qfunctionconfigurator/qfunctionconfigurator.h +++ b/qfunctionconfigurator/qfunctionconfigurator.h @@ -47,7 +47,7 @@ protected slots: private: void drawBackground(); void drawFunction(); - void drawPoint(QPainter *painter, const QPointF &pt, QColor colBG ); + void drawPoint(QPainter *painter, const QPointF &pt, QColor colBG, QColor border = QColor(50, 100, 120, 200)); void drawLine(QPainter *painter, const QPointF &start, const QPointF &end, QPen& pen); bool point_within_pixel(const QPointF& pt, const QPointF& pixel); protected: |