[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 4 commits - chart2/source
Markus Mohrhard
markus.mohrhard at googlemail.com
Thu Jan 9 12:10:54 PST 2014
chart2/source/view/main/DummyXShape.cxx | 28 ++++++++++++++++++++++++++++
chart2/source/view/main/OpenGLRender.cxx | 22 ++++++++++++++--------
chart2/source/view/main/OpenGLRender.hxx | 4 +++-
3 files changed, 45 insertions(+), 9 deletions(-)
New commits:
commit d021258df3c9f27cf285ab0097e79d5261bf5896
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Thu Jan 9 21:10:04 2014 +0100
a bit more clean-up in the chart2 OpenGL code
Change-Id: I0c30a9c8e2a9e0f199308523bbc5fc76c94307c7
diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx
index 6218dc8..cf2a0fc 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -290,8 +290,8 @@ int static checkGLError(const char *file, int line)
#define CHECK_GL_FRAME_BUFFER_STATUS() \
status = glCheckFramebufferStatus(GL_FRAMEBUFFER);\
if( status != GL_FRAMEBUFFER_COMPLETE ) {\
- printf(" error at line(%d) '%d'\n", __LINE__, status );\
- return -1;\
+ SAL_WARN("chart2.opengl", "OpenGL error: " << status );\
+ return -1;\
}
GLint OpenGLRender::LoadShaders(const char *vertexShader,const char *fragmentShader)
@@ -1038,7 +1038,7 @@ int OpenGLRender::InitMultisample(PIXELFORMATDESCRIPTOR pfd)
//create a temp windwo to check whether support multi-sample, if support, get the format
if (InitTempWindow(&hWnd, m_iWidth, m_iHeight, pfd) < 0)
{
- printf("Can't create temp window to test\n");
+ SAL_WARN("chart2.opengl", "Can't create temp window to test\n");
return false;
}
@@ -1046,7 +1046,7 @@ int OpenGLRender::InitMultisample(PIXELFORMATDESCRIPTOR pfd)
if (!WGLisExtensionSupported("WGL_ARB_multisample"))
{
m_iArbMultisampleSupported = 0;
- printf("Device doesn't support multi sample\n");
+ SAL_WARN("chart2.opengl", "Device doesn't support multi sample\n");
return false;
}
// Get Our Pixel Format
@@ -1678,7 +1678,7 @@ int OpenGLRender::RenderArea2DShape()
return 0;
}
-void OpenGLRender::SetBackGroundColor(long color1, long color2)
+void OpenGLRender::SetBackGroundColor(sal_uInt32 color1, sal_uInt32 color2)
{
sal_uInt8 r = (color1 & 0x00FF0000) >> 16;
sal_uInt8 g = (color1 & 0x0000FF00) >> 8;
@@ -1707,7 +1707,7 @@ void OpenGLRender::SetBackGroundColor(long color1, long color2)
m_BackgroundColor[13] = (float)g / 255.0f;
m_BackgroundColor[14] = (float)b / 255.0f;
m_BackgroundColor[15] = 1.0;
- cout << "color1 = " << color1 << ", color2 = " << color2 << endl;
+ SAL_INFO("chart2.opengl", "color1 = " << color1 << ", color2 = " << color2);
}
void OpenGLRender::SetChartTransparencyGradient(long transparencyGradient)
diff --git a/chart2/source/view/main/OpenGLRender.hxx b/chart2/source/view/main/OpenGLRender.hxx
index 87b6cde..0b79d99 100644
--- a/chart2/source/view/main/OpenGLRender.hxx
+++ b/chart2/source/view/main/OpenGLRender.hxx
@@ -197,7 +197,7 @@ private:
int WGLisExtensionSupported(const char *extension);
int CreateMultiSampleFrameBufObj();
int Create2DCircle(int detail);
- void SetBackGroundColor(long color1, long color2);
+ void SetBackGroundColor(sal_uInt32 color1, sal_uInt32 color2);
private:
// Projection matrix : default 45 degree Field of View, 4:3 ratio, display range : 0.1 unit <-> 100 units
commit c818ad2ce69498dbf465d94705c7ec8f3b9e88a9
Author: Peilin <peilin at multicorewareinc.com>
Date: Thu Jan 9 15:40:04 2014 +0800
Rectangle transparence gradient
Change-Id: Ibca7039eee1c48d487928822e5a01455a07351fd
diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx
index 6e64f13..8d5910f 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -567,6 +567,18 @@ void DummyRectangle::render()
sal_Int32 nColorValue = co.get<sal_Int32>();
pChart->m_GLRender.SetColor(nColorValue);
}
+
+ //TODO: moggi: correct handling of gradients
+ itr = maProperties.find("FillTransparenceGradientName");
+ if (itr != maProperties.end())
+ {
+ uno::Any co = itr->second;
+ rtl::OUString aGradientValue = co.get<rtl::OUString>();
+ if (aGradientValue.endsWithAsciiL("1", 1))
+ {
+ pChart->m_GLRender.SetChartTransparencyGradient(1);
+ }
+ }
pChart->m_GLRender.RectangleShapePoint(maPosition.X, maPosition.Y, maSize.Width, maSize.Height);
pChart->m_GLRender.RenderRectangleShape();
}
diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx
index de98c00..6218dc8 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -1710,5 +1710,12 @@ void OpenGLRender::SetBackGroundColor(long color1, long color2)
cout << "color1 = " << color1 << ", color2 = " << color2 << endl;
}
-
+void OpenGLRender::SetChartTransparencyGradient(long transparencyGradient)
+{
+ if (transparencyGradient == 1)
+ {
+ m_BackgroundColor[11] = 0.0;
+ m_BackgroundColor[15] = 0.0;
+ }
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/view/main/OpenGLRender.hxx b/chart2/source/view/main/OpenGLRender.hxx
index a65730b..87b6cde 100644
--- a/chart2/source/view/main/OpenGLRender.hxx
+++ b/chart2/source/view/main/OpenGLRender.hxx
@@ -182,6 +182,8 @@ public:
int SetArea2DShapePoint(float x, float y, int listLength);
int RenderArea2DShape();
+ void SetChartTransparencyGradient(long transparencyGradient);
+
private:
GLint LoadShaders(const char *vertexShader,const char *fragmentShader);
int CreateTextureObj(int width, int height);
commit ab515e7e39af0fb555ed5af9b0dc3db7784bd6a8
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Thu Jan 9 21:00:32 2014 +0100
use UNO constants instead of magic numbers
Change-Id: I7a38518783e57d3230301f94bf0831a73670385f
diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx
index 6d58976..6e64f13 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -513,7 +513,7 @@ void DummyLine2D::render()
{
uno::Any cow = itr->second;
sal_Int32 nStyle = cow.get<sal_Int32>();
- if (0 == nStyle)
+ if (drawing::LineStyle_NONE == nStyle)
{
pChart->m_GLRender.SetTransparency(0);
}
commit 411c82edca1e6f830feeae98de2aa603d5b60907
Author: Peilin <peilin at multicorewareinc.com>
Date: Thu Jan 9 15:24:36 2014 +0800
add Line2D style property
Change-Id: I72d9426b6910205645bae2828ef14aaabad138c3
diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx
index 2979189..6d58976 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -507,6 +507,22 @@ void DummyLine2D::render()
else
SAL_WARN("chart2.opengl", "no line width set");
+ //add style and transparency
+ itr = maProperties.find(UNO_NAME_LINESTYLE);
+ if (itr != maProperties.end())
+ {
+ uno::Any cow = itr->second;
+ sal_Int32 nStyle = cow.get<sal_Int32>();
+ if (0 == nStyle)
+ {
+ pChart->m_GLRender.SetTransparency(0);
+ }
+ else
+ {
+ pChart->m_GLRender.SetTransparency(255);
+ }
+ }
+
sal_Int32 pointsscount = maPoints.getLength();
for(sal_Int32 i = 0; i < pointsscount; i++)
{
diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx
index 73aedac..de98c00 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -1711,5 +1711,4 @@ void OpenGLRender::SetBackGroundColor(long color1, long color2)
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list