Kaydet (Commit) 9a73719c authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Try to zoom into a bar when clicked. For now we hardcode the object ID of 1.

Just for testing.

Change-Id: Ifec15ae0beb0a3c863085e9d43bdebd7bcce4027
üst 4a902e0c
...@@ -28,7 +28,8 @@ GL3DBarChart::GL3DBarChart( ...@@ -28,7 +28,8 @@ GL3DBarChart::GL3DBarChart(
OpenGLWindow& rWindow) : OpenGLWindow& rWindow) :
mxChartType(xChartType), mxChartType(xChartType),
mpRenderer(new opengl3D::OpenGL3DRenderer()), mpRenderer(new opengl3D::OpenGL3DRenderer()),
mrWindow(rWindow) mrWindow(rWindow),
mpCamera(NULL)
{ {
mrWindow.setRenderer(this); mrWindow.setRenderer(this);
mpRenderer->init(); mpRenderer->init();
...@@ -65,6 +66,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer ...@@ -65,6 +66,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
maShapes.clear(); maShapes.clear();
maShapes.push_back(new opengl3D::Camera(mpRenderer.get())); maShapes.push_back(new opengl3D::Camera(mpRenderer.get()));
mpCamera = static_cast<opengl3D::Camera*>(&maShapes.back());
sal_Int32 nSeriesIndex = 0; sal_Int32 nSeriesIndex = 0;
for (boost::ptr_vector<VDataSeries>::const_iterator itr = rDataSeriesContainer.begin(), for (boost::ptr_vector<VDataSeries>::const_iterator itr = rDataSeriesContainer.begin(),
itrEnd = rDataSeriesContainer.end(); itr != itrEnd; ++itr) itrEnd = rDataSeriesContainer.end(); itr != itrEnd; ++itr)
...@@ -185,7 +188,8 @@ void GL3DBarChart::update() ...@@ -185,7 +188,8 @@ void GL3DBarChart::update()
void GL3DBarChart::clickedAt(const Point& ) void GL3DBarChart::clickedAt(const Point& )
{ {
if (mpCamera)
mpCamera->zoom(1);
} }
} }
......
...@@ -26,6 +26,7 @@ namespace opengl3D { ...@@ -26,6 +26,7 @@ namespace opengl3D {
class Renderable3DObject; class Renderable3DObject;
class OpenGL3DRenderer; class OpenGL3DRenderer;
class Camera;
} }
...@@ -53,6 +54,8 @@ private: ...@@ -53,6 +54,8 @@ private:
boost::scoped_ptr<opengl3D::OpenGL3DRenderer> mpRenderer; boost::scoped_ptr<opengl3D::OpenGL3DRenderer> mpRenderer;
OpenGLWindow& mrWindow; OpenGLWindow& mrWindow;
opengl3D::Camera* mpCamera;
}; };
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment