##// END OF EJS Templates
Clear chart image to transparent when necessary....
Clear chart image to transparent when necessary. If there is any transparency in the background, image clear should be done every time chart is rendered to avoid artifacts from previous render. Background shape change also triggers the clear, but that is needed only once. Change-Id: If0a762d2e2e01cf3a94a5d2f6845613deb619bdd Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2845:ae12522d475c
r2850:57e4c71e5532
Show More
scatteranimation.cpp
51 lines | 1.8 KiB | text/x-c | CppLexer
/******************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Charts module.
**
** $QT_BEGIN_LICENSE:COMM$
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** $QT_END_LICENSE$
**
******************************************************************************/
#include <private/scatteranimation_p.h>
#include <private/scatterchartitem_p.h>
#include <QtCore/QDebug>
QT_CHARTS_BEGIN_NAMESPACE
ScatterAnimation::ScatterAnimation(ScatterChartItem *item, int duration, QEasingCurve &curve)
: XYAnimation(item, duration, curve)
{
}
ScatterAnimation::~ScatterAnimation()
{
}
void ScatterAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
{
XYAnimation::updateState(newState, oldState);
if (oldState == QAbstractAnimation::Running && newState == QAbstractAnimation::Stopped
&& animationType() == RemovePointAnimation) {
// Removing a point from scatter chart will keep extra marker item after animation stops.
// Also, if the removed point was not the last one in series, points after the removed one
// will report wrong coordinates when clicked. To fix these issues, update geometry after
// point removal animation has finished.
chartItem()->updateGeometry();
}
}
QT_CHARTS_END_NAMESPACE