Revision control
Copy as Markdown
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <private/chartbackground_p.h>
#include <private/chartconfig_p.h>
#include <QtGui/QPen>
#include <QtGui/QBrush>
#include <QtGui/QPainter>
#include <QGraphicsDropShadowEffect>
QT_BEGIN_NAMESPACE
ChartBackground::ChartBackground(QGraphicsItem *parent)
: QGraphicsRectItem(parent),
m_diameter(5),
m_dropShadow(0)
{
setAcceptedMouseButtons({});
}
ChartBackground::~ChartBackground()
{
}
void ChartBackground::setDropShadowEnabled(bool enabled)
{
#ifdef QT_NO_GRAPHICSEFFECT
Q_UNUSED(enabled);
#else
if (enabled) {
if (!m_dropShadow) {
m_dropShadow = new QGraphicsDropShadowEffect();
#ifdef Q_OS_MAC
m_dropShadow->setBlurRadius(15);
m_dropShadow->setOffset(0, 0);
#elif defined(Q_OS_WIN)
m_dropShadow->setBlurRadius(10);
m_dropShadow->setOffset(0, 0);
#else
m_dropShadow->setBlurRadius(10);
m_dropShadow->setOffset(5, 5);
#endif
setGraphicsEffect(m_dropShadow);
}
} else {
delete m_dropShadow;
m_dropShadow = 0;
}
#endif
}
void ChartBackground::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option);
Q_UNUSED(widget);
painter->save();
painter->setPen(pen());
painter->setBrush(brush());
painter->drawRoundedRect(rect(), m_diameter, m_diameter);
painter->restore();
}
qreal ChartBackground::diameter() const
{
return m_diameter;
}
void ChartBackground::setDiameter(qreal diameter)
{
m_diameter = diameter;
update();
}
QT_END_NAMESPACE