From f60a3095bd58cb21c84a803062a105c634feaaf7 2012-06-13 13:25:15 From: sauimone Date: 2012-06-13 13:25:15 Subject: [PATCH] added roundness to legend background --- diff --git a/examples/legend/mainwidget.cpp b/examples/legend/mainwidget.cpp index 063c7f0..5964cb2 100644 --- a/examples/legend/mainwidget.cpp +++ b/examples/legend/mainwidget.cpp @@ -155,6 +155,7 @@ void MainWidget::detachLegend() m_chart->legend()->setBackgroundVisible(true); m_chart->legend()->setBrush(QBrush(QColor(128,128,128,128))); + m_chart->legend()->setPen(QPen(QColor(192,192,192,192))); //![2] showLegendSpinbox(); diff --git a/src/legend/qlegend.cpp b/src/legend/qlegend.cpp index 219e183..2e515cb 100644 --- a/src/legend/qlegend.cpp +++ b/src/legend/qlegend.cpp @@ -183,7 +183,7 @@ void QLegend::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, Q painter->setOpacity(opacity()); painter->setPen(d_ptr->m_pen); painter->setBrush(d_ptr->m_brush); - painter->drawRect(boundingRect()); + painter->drawRoundRect(rect(),d_ptr->roundness(rect().width()),d_ptr->roundness(rect().height())); } /*! @@ -395,6 +395,7 @@ QLegendPrivate::QLegendPrivate(ChartPresenter* presenter, QChart *chart, QLegend m_minHeight(0), m_width(0), m_height(0), + m_diameter(5), m_attachedToChart(true), m_backgroundVisible(false) { @@ -678,6 +679,11 @@ void QLegendPrivate::attachToChart() q_ptr->setParent(m_chart); } +int QLegendPrivate::roundness(qreal size) +{ + return 100*m_diameter/int(size); +} + void QLegendPrivate::handleSeriesAdded(QAbstractSeries *series, Domain *domain) { Q_UNUSED(domain) diff --git a/src/legend/qlegend_p.h b/src/legend/qlegend_p.h index 1dccb0c..f1af9d2 100644 --- a/src/legend/qlegend_p.h +++ b/src/legend/qlegend_p.h @@ -49,6 +49,7 @@ public: void updateLayout(); void updateDetachedLayout(); void attachToChart(); + int roundness(qreal size); public Q_SLOTS: void handleSeriesAdded(QAbstractSeries *series, Domain *domain); @@ -75,6 +76,7 @@ private: qreal m_minHeight; qreal m_width; qreal m_height; + qreal m_diameter; bool m_attachedToChart; bool m_backgroundVisible;