chart2/source/view/inc/3DChartObjects.hxx | 2 - chart2/source/view/inc/GL3DRenderer.hxx | 6 +-- chart2/source/view/main/3DChartObjects.cxx | 8 ++-- chart2/source/view/main/GL3DRenderer.cxx | 52 +++++++++++------------------ 4 files changed, 28 insertions(+), 40 deletions(-)
New commits: commit a0842e53b999cee3cddbd209b43e313874760f0b Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Mon May 12 05:22:52 2014 +0200 more sal_Int32 to sal_uInt32 and simplification Change-Id: I061fdc9e0743715d1b358a16d72486cfb62a35aa diff --git a/chart2/source/view/inc/3DChartObjects.hxx b/chart2/source/view/inc/3DChartObjects.hxx index 8571fd8..f8138aa 100644 --- a/chart2/source/view/inc/3DChartObjects.hxx +++ b/chart2/source/view/inc/3DChartObjects.hxx @@ -37,7 +37,7 @@ protected: class Bar : public Renderable3DObject { public: - Bar(OpenGL3DRenderer* pRenderer, const glm::mat4& rPosition, sal_Int32 nColor, sal_uInt32 nId); + Bar(OpenGL3DRenderer* pRenderer, const glm::mat4& rPosition, sal_uInt32 nColor, sal_uInt32 nId); virtual void render() SAL_OVERRIDE; private: diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx index 6d30b94..9d5f441 100644 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -148,8 +148,8 @@ public: ~OpenGL3DRenderer(); void init(); - void Set3DSenceInfo(sal_Int32 color = 255, bool twoSidesLighting = true); - void SetLightInfo(bool lightOn, sal_Int32 color, const glm::vec4& direction); + void Set3DSenceInfo(sal_uInt32 color = 255, bool twoSidesLighting = true); + void SetLightInfo(bool lightOn, sal_uInt32 color, const glm::vec4& direction); void AddShapePolygon3DObject(sal_uInt32 color, bool lineOnly, sal_uInt32 lineColor, long fillStyle, sal_uInt32 specular); void EndAddShapePolygon3DObject(); @@ -157,7 +157,7 @@ public: void EndAddPolygon3DObjectNormalPoint(); void AddPolygon3DObjectPoint(float x, float y, float z); void EndAddPolygon3DObjectPoint(); - void AddShape3DExtrudeObject(bool roundedCorner, sal_Int32 color, sal_Int32 specular, glm::mat4 modelMatrix); + void AddShape3DExtrudeObject(bool roundedCorner, sal_uInt32 color, sal_uInt32 specular, glm::mat4 modelMatrix); void EndAddShape3DExtrudeObject(); double GetTime(); void SetFPS(float fps); diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index f5c3596..e23c38b 100644 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -28,7 +28,7 @@ void Renderable3DObject::render() (void) mnUniqueId; } -Bar::Bar(OpenGL3DRenderer* pRenderer, const glm::mat4& rPosition, sal_Int32 aColor, sal_uInt32 nId) +Bar::Bar(OpenGL3DRenderer* pRenderer, const glm::mat4& rPosition, sal_uInt32 aColor, sal_uInt32 nId) : Renderable3DObject(pRenderer, nId) , mbRoundedCorners(true) , maPos(rPosition) @@ -39,7 +39,7 @@ Bar::Bar(OpenGL3DRenderer* pRenderer, const glm::mat4& rPosition, sal_Int32 aCol void Bar::render() { - mpRenderer->AddShape3DExtrudeObject(mbRoundedCorners, (sal_Int32)maColor.GetColor(), 0xFFFFFF, maPos); + mpRenderer->AddShape3DExtrudeObject(mbRoundedCorners, maColor.GetColor(), 0xFFFFFF, maPos); mpRenderer->EndAddShape3DExtrudeObject(); } @@ -50,7 +50,7 @@ Line::Line(OpenGL3DRenderer* pRenderer, sal_uInt32 nId): void Line::render() { - mpRenderer->AddShapePolygon3DObject(0, true, (sal_Int32)maLineColor.GetColor(), 0, 0); + mpRenderer->AddShapePolygon3DObject(0, true, maLineColor.GetColor(), 0, 0); mpRenderer->AddPolygon3DObjectPoint(maPosBegin.x, maPosBegin.y, maPosBegin.z); mpRenderer->AddPolygon3DObjectPoint(maPosEnd.x, maPosEnd.y, maPosEnd.z); mpRenderer->EndAddShapePolygon3DObject(); @@ -126,7 +126,7 @@ void Rectangle::render() mpRenderer->EndAddPolygon3DObjectPoint(); mpRenderer->EndAddPolygon3DObjectNormalPoint(); //we should render the edge if the edge color is different from the fill color - if ((sal_Int32)maColor.GetColor() != (sal_Int32)maLineColor.GetColor()) + if (maColor.GetColor() != maLineColor.GetColor()) { mpRenderer->AddShapePolygon3DObject(0, true, maLineColor.GetColor(), 0, 0xFFFFFF); mpRenderer->AddPolygon3DObjectPoint(maBottomRight.x, maBottomRight.y, maBottomRight.z); diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 6ace0eb..69e961b 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -59,6 +59,15 @@ GLfloat texCoords[] = { 0.0f, 1.0f }; +glm::vec4 getColorAsVector(sal_uInt32 nColor) +{ + return glm::vec4(((nColor & 0x00FF0000) >> 16) / 255.0f, + ((nColor & 0x0000FF00) >> 8) / 255.0f, + (nColor & 0x000000FF) / 255.0f, + (0xFF - (nColor & 0xFF000000)/255.0)); + +} + } OpenGL3DRenderer::OpenGL3DRenderer(): @@ -802,20 +811,17 @@ void OpenGL3DRenderer::RenderPolygon3DObject() return; } -void OpenGL3DRenderer::Set3DSenceInfo(sal_Int32 color, bool twoSidesLighting) +void OpenGL3DRenderer::Set3DSenceInfo(sal_uInt32 nColor, bool twoSidesLighting) { m_Polygon3DInfo.material.twoSidesLighting = twoSidesLighting; - m_LightsInfo.ambient = glm::vec4((float)(((color) & 0x00FF0000) >> 16) / 255.0f, - (float)(((color) & 0x0000FF00) >> 8) / 255.0f, - (float)(((color) & 0x000000FF)) / 255.0f, - 1.0); + m_LightsInfo.ambient = getColorAsVector(nColor); m_LightsInfo.lightNum = 0; SetLightInfo(true, 0xFFFFFF, glm::vec4(1.0, 1.0, 1.0, 0.0)); } -void OpenGL3DRenderer::SetLightInfo(bool lightOn, sal_Int32 color, const glm::vec4& direction) +void OpenGL3DRenderer::SetLightInfo(bool lightOn, sal_uInt32 nColor, const glm::vec4& direction) { if (m_LightsInfo.lightNum > MAX_LIGHT_NUM) { @@ -824,22 +830,16 @@ void OpenGL3DRenderer::SetLightInfo(bool lightOn, sal_Int32 color, const glm::ve if (lightOn) { - m_LightsInfo.light[m_LightsInfo.lightNum].lightColor = glm::vec4((float)(((color) & 0x00FF0000) >> 16) / 255.0f, - (float)(((color) & 0x0000FF00) >> 8) / 255.0f, - (float)(((color) & 0x000000FF)) / 255.0f, - 1.0); + m_LightsInfo.light[m_LightsInfo.lightNum].lightColor = getColorAsVector(nColor); m_LightsInfo.light[m_LightsInfo.lightNum].positionWorldspace = direction; m_LightsInfo.light[m_LightsInfo.lightNum].lightPower = 1.0; m_LightsInfo.lightNum++; } } -void OpenGL3DRenderer::AddShapePolygon3DObject(sal_uInt32 color, bool lineOnly, sal_uInt32 lineColor,long fillStyle, sal_uInt32 specular) +void OpenGL3DRenderer::AddShapePolygon3DObject(sal_uInt32 nColor, bool lineOnly, sal_uInt32 nLineColor,long fillStyle, sal_uInt32 specular) { - m_Polygon3DInfo.polygonColor = glm::vec4((float)(((color) & 0x00FF0000) >> 16) / 255.0f, - (float)(((color) & 0x0000FF00) >> 8) / 255.0f, - (float)(((color) & 0x000000FF)) / 255.0f, - 1.0); + m_Polygon3DInfo.polygonColor = getColorAsVector(nColor); m_Polygon3DInfo.material.materialColor = m_Polygon3DInfo.polygonColor;//material color seems to be the same for all parts, so we use the polygon color //line or Polygon m_Polygon3DInfo.lineOnly = lineOnly; @@ -848,10 +848,7 @@ void OpenGL3DRenderer::AddShapePolygon3DObject(sal_uInt32 color, bool lineOnly, // if line only, use line color if (m_Polygon3DInfo.lineOnly) { - m_Polygon3DInfo.polygonColor = glm::vec4((float)(((lineColor) & 0x00FF0000) >> 16) / 255.0f, - (float)(((lineColor) & 0x0000FF00) >> 8) / 255.0f, - (float)(((lineColor) & 0x000000FF)) / 255.0f, - 1.0); + m_Polygon3DInfo.polygonColor = getColorAsVector(nLineColor); } //fillStyle @@ -859,10 +856,7 @@ void OpenGL3DRenderer::AddShapePolygon3DObject(sal_uInt32 color, bool lineOnly, //material specular; - m_Polygon3DInfo.material.specular = glm::vec4((float)(((specular) & 0x00FF0000) >> 16) / 255.0f, - (float)(((specular) & 0x0000FF00) >> 8) / 255.0f, - (float)(((specular) & 0x000000FF)) / 255.0f, - 1.0); + m_Polygon3DInfo.material.specular = getColorAsVector(specular); m_Polygon3DInfo.material.diffuse = glm::vec4(1.0, 1.0, 1.0, 1.0); @@ -919,7 +913,7 @@ void OpenGL3DRenderer::EndAddPolygon3DObjectPoint() m_Polygon3DInfo.vertices = NULL; } -void OpenGL3DRenderer::AddShape3DExtrudeObject(bool roundedCorner, sal_Int32 color,sal_Int32 specular, glm::mat4 modelMatrix) +void OpenGL3DRenderer::AddShape3DExtrudeObject(bool roundedCorner, sal_uInt32 nColor, sal_uInt32 specular, glm::mat4 modelMatrix) { glm::vec4 tranform = modelMatrix * glm::vec4(0.0, 0.0, 0.0, 1.0); glm::vec4 DirX = modelMatrix * glm::vec4(1.0, 0.0, 0.0, 0.0); @@ -933,17 +927,11 @@ void OpenGL3DRenderer::AddShape3DExtrudeObject(bool roundedCorner, sal_Int32 col m_Extrude3DInfo.rotation = transformMatrixInverse * modelMatrix * scaleMatrixInverse; //color - m_Extrude3DInfo.extrudeColor = glm::vec4((float)(((color) & 0x00FF0000) >> 16) / 255.0f, - (float)(((color) & 0x0000FF00) >> 8) / 255.0f, - (float)(((color) & 0x000000FF)) / 255.0f, - 1.0); + m_Extrude3DInfo.extrudeColor = getColorAsVector(nColor); m_Extrude3DInfo.material.materialColor = m_Extrude3DInfo.extrudeColor;//material color seems to be the same for all parts, so we use the polygon color //material specular; - m_Extrude3DInfo.material.specular = glm::vec4((float)(((specular) & 0x00FF0000) >> 16) / 255.0f, - (float)(((specular) & 0x0000FF00) >> 8) / 255.0f, - (float)(((specular) & 0x000000FF)) / 255.0f, - 1.0); + m_Extrude3DInfo.material.specular = getColorAsVector(specular); m_Extrude3DInfo.material.diffuse = glm::vec4(1.0, 1.0, 1.0, 1.0); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits