X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=ameterwidget.cpp;fp=ameterwidget.cpp;h=4d2203d2c4b43296fd2d6cfe93ad8dda900a13ba;hb=1334db158372c1eeb91bb10031ac9285060a295a;hp=f11ee02ed457c4930d59e42a19f62e53ab745052;hpb=0b6a14eb70fc1be283fe2d4d84645f4d96615dc5;p=ameter diff --git a/ameterwidget.cpp b/ameterwidget.cpp index f11ee02..4d2203d 100644 --- a/ameterwidget.cpp +++ b/ameterwidget.cpp @@ -30,6 +30,8 @@ AMeterWidget::AMeterWidget(QWidget *parent) bx = 0; by = 0; bz = 0; + + in_reset = 1; } AMeterWidget::~AMeterWidget() @@ -55,13 +57,16 @@ void AMeterWidget::paintEvent(QPaintEvent *e) qreal cx, cy, rx, ry; qreal x1, y1, a; - a = sqrt(ax * ax + ay * ay + az * az); - if (background) { paint.drawImage(QPoint(0, 0), *background); } + if (in_reset) { + return; + } + + a = sqrt(ax * ax + ay * ay + az * az); paint.setRenderHints(QPainter::Antialiasing); cx = width() / 2; @@ -170,16 +175,25 @@ bool AMeterWidget::filter(QAccelerometerReading *reading) ay = reading->y() * r_g; az = reading->z() * r_g; - if (smoothing > 0 && smoothing < 4) + if (!in_reset && smoothing > 0 && smoothing < 4) { k = smoothing_k[smoothing]; ax = ax * k + bx * (1.0 - k); ay = ay * k + by * (1.0 - k); az = az * k + bz * (1.0 - k); } - + + in_reset = 0; update(); return true; } +void AMeterWidget::reset() +{ + in_reset = 0; + ax = 0; + ay = 0; + az = 0; +} +