@@ -257,9 +257,21 void QChartViewPrivate::setChart(QChart *chart) | |||||
257 | resize(); |
|
257 | resize(); | |
258 | } |
|
258 | } | |
259 |
|
259 | |||
|
260 | const qreal rad2deg(57.2957795); | |||
|
261 | ||||
260 | void QChartViewPrivate::resize() |
|
262 | void QChartViewPrivate::resize() | |
261 | { |
|
263 | { | |
262 | m_chart->resize(q_ptr->size()); |
|
264 | // Flip chart width and height if the view has been rotated | |
|
265 | // more than 45 degrees from the horizontal so it fits better into the view. | |||
|
266 | qreal angle = acos(q_ptr->transform().m11()) * rad2deg; | |||
|
267 | QSize chartSize = q_ptr->size(); | |||
|
268 | ||||
|
269 | if (angle > 45.0 && angle < 135.0) { | |||
|
270 | chartSize.setHeight(q_ptr->size().width()); | |||
|
271 | chartSize.setWidth(q_ptr->size().height()); | |||
|
272 | } | |||
|
273 | ||||
|
274 | m_chart->resize(chartSize); | |||
263 | q_ptr->setMinimumSize(m_chart->minimumSize().toSize()); |
|
275 | q_ptr->setMinimumSize(m_chart->minimumSize().toSize()); | |
264 | q_ptr->setSceneRect(m_chart->geometry()); |
|
276 | q_ptr->setSceneRect(m_chart->geometry()); | |
265 | } |
|
277 | } |
General Comments 0
You need to be logged in to leave comments.
Login now