[Libreoffice-commits] core.git: Branch 'feature/chart-3d-chart2' - chart2/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Sat May 24 04:11:18 PDT 2014


 chart2/source/view/charttypes/GL3DBarChart.cxx |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

New commits:
commit 68bac9fc0bde02462b78393a845231f5c6644a02
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sat May 24 13:05:12 2014 +0200

    improve the bar and text positioning
    
    Keep a bit of space to the border and move the text a bit away from the
    chart area. This makes it look much better in my opinion.
    
    Change-Id: I1eee505e8361cbc0e3ca859d74a96af880451198

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx
index efd27af..6d0b6d7 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -87,7 +87,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
     for (boost::ptr_vector<VDataSeries>::const_iterator itr = rDataSeriesContainer.begin(),
             itrEnd = rDataSeriesContainer.end(); itr != itrEnd; ++itr)
     {
-        nYPos = nSeriesIndex * (nBarSizeY + nBarDistanceY);
+        nYPos = nSeriesIndex * (nBarSizeY + nBarDistanceY) + nBarDistanceY;
 
         const VDataSeries& rDataSeries = *itr;
         sal_Int32 nPointCount = rDataSeries.getTotalPointCount();
@@ -104,10 +104,10 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
             maShapes.push_back(new opengl3D::Text(mpRenderer.get(), aSeriesName, nId++));
             opengl3D::Text* p = static_cast<opengl3D::Text*>(&maShapes.back());
             glm::vec3 aTopLeft, aTopRight, aBottomRight;
-            aTopLeft.x = 0.0f;
-            aTopLeft.y = nYPos;
-            aTopRight.x = calculateTextWidth(aSeriesName) * -1.0;
-            aTopRight.y = nYPos;
+            aTopLeft.x = -nBarDistanceY;
+            aTopLeft.y = nYPos + 0.25 * nBarSizeY;
+            aTopRight.x = calculateTextWidth(aSeriesName) * -1.0 - nBarDistanceY;
+            aTopRight.y = nYPos + 0.25 * nBarSizeY;
             aBottomRight = aTopRight;
             aBottomRight.y += TEXT_HEIGHT;
             p->setPosition(aTopLeft, aTopRight, aBottomRight);
@@ -122,7 +122,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
             }
 
             float nVal = rDataSeries.getYValue(nIndex);
-            float nXPos = nIndex * (nBarSizeX + nBarDistanceX);
+            float nXPos = nIndex * (nBarSizeX + nBarDistanceX) + nBarDistanceX;
 
 
             glm::mat4 aScaleMatrix = glm::scale(nBarSizeX, nBarSizeY, nVal);
@@ -165,7 +165,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
     opengl3D::Rectangle* pRect = static_cast<opengl3D::Rectangle*>(&maShapes.back());
     glm::vec3 aTopLeft;
     glm::vec3 aTopRight = aTopLeft;
-    aTopRight.x = nXEnd;
+    aTopRight.x = nXEnd + 2 * nBarDistanceX;
     glm::vec3 aBottomRight = aTopRight;
     aBottomRight.y = nYPos;
     pRect->setPosition(aTopLeft, aTopRight, aBottomRight);
@@ -184,11 +184,11 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
         maShapes.push_back(new opengl3D::Text(mpRenderer.get(), aCats[i], nId++));
         opengl3D::Text* p = static_cast<opengl3D::Text*>(&maShapes.back());
         aTopLeft.x = nXPos + TEXT_HEIGHT;
-        aTopLeft.y = nYPos + calculateTextWidth(aCats[i]);
+        aTopLeft.y = nYPos + calculateTextWidth(aCats[i]) + 0.5 * nBarDistanceY;
         aTopRight = aTopLeft;
-        aTopRight.y = nYPos;
+        aTopRight.y = nYPos + 0.5* nBarDistanceY;
         aBottomRight.x = nXPos;
-        aBottomRight.y = nYPos;
+        aBottomRight.y = nYPos + 0.5 * nBarDistanceY;
         p->setPosition(aTopLeft, aTopRight, aBottomRight);
     }
 }


More information about the Libreoffice-commits mailing list