summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-06-01 17:38:39 +0200
committerMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-06-01 17:38:39 +0200
commitd9f93ced823ee7d695cdd39d5124b67e07886ed7 (patch)
tree21882e6949a1aeffb05615ffdb7ddd4ca7ee8b96
parente7da55b6ed9ac288eb8075ce169a9c1e305f7d99 (diff)
extract the rendering code in ChartView
We need it for the IOpenGLRenderer interface. Change-Id: Ic9f425b44c0efdd30956eba13ef03ba7179d35a4
-rw-r--r--chart2/inc/ChartView.hxx2
-rw-r--r--chart2/source/view/main/ChartView.cxx20
2 files changed, 15 insertions, 7 deletions
diff --git a/chart2/inc/ChartView.hxx b/chart2/inc/ChartView.hxx
index 156bf8a93e87..ab552f9fa250 100644
--- a/chart2/inc/ChartView.hxx
+++ b/chart2/inc/ChartView.hxx
@@ -214,6 +214,8 @@ private: //methods
void impl_updateView();
+ void render();
+
::com::sun::star::awt::Rectangle impl_createDiagramAndContent( SeriesPlotterContainer& rSeriesPlotterContainer
, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes>& xDiagramPlusAxes_Shapes
, const ::com::sun::star::awt::Point& rAvailablePos
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index a2355df294cc..f9b7d70401a7 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -2615,13 +2615,7 @@ void ChartView::createShapes()
//cleanup: remove all empty group shapes to avoid grey border lines:
lcl_removeEmptyGroupShapes( mxRootShape );
- OpenGLWindow* pWindow = mrChartModel.getOpenGLWindow();
- bool bRender = pShapeFactory->preRender(pWindow);
- if(bRender)
- {
- pShapeFactory->render(mxRootShape);
- pShapeFactory->postRender(pWindow);
- }
+ render();
if(maTimeBased.bTimeBased && maTimeBased.nFrame % 60 == 0)
{
@@ -2676,6 +2670,18 @@ void ChartView::createShapes()
}
}
+void ChartView::render()
+{
+ AbstractShapeFactory* pShapeFactory = AbstractShapeFactory::getOrCreateShapeFactory(m_xShapeFactory);
+ OpenGLWindow* pWindow = mrChartModel.getOpenGLWindow();
+ bool bRender = pShapeFactory->preRender(pWindow);
+ if(bRender)
+ {
+ pShapeFactory->render(mxRootShape);
+ pShapeFactory->postRender(pWindow);
+ }
+}
+
// util::XEventListener (base of XCloseListener)
void SAL_CALL ChartView::disposing( const lang::EventObject& /* rSource */ )
throw(uno::RuntimeException, std::exception)