[Libreoffice-commits] core.git: officecfg/registry sc/source

2014-10-09 Thread xukai
 officecfg/registry/schema/org/openoffice/Office/Calc.xcs |   12 
 sc/source/ui/docshell/datastream.cxx |   15 +--
 2 files changed, 17 insertions(+), 10 deletions(-)

New commits:
commit fcf953b8ec8ef9652f12a2cc91e9edc6153c1bb1
Author: xukai xu...@multicorewareinc.com
Date:   Tue Sep 23 21:55:13 2014 -0400

make streamtimeout a config variable instead of an env. var.

Change-Id: I6c82142265a0a149206d15fbc267ad61e6b9cf3b

diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index 85fb9f9..cb16b9b 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -1807,5 +1807,17 @@
 /prop
   /group
 /group
+group oor:name=DataStream
+info
+  descdata stream/desc
+/info
+prop oor:name=UpdateTimeout oor:type=xs:int oor:nillable=false
+  !-- UIHints: Tools - Options - Spreadsheet - Defaults --
+  info
+descset the Timeout of DataStream updating /desc
+  /info
+  value2000/value
+/prop
+/group
   /component
 /oor:component-schema
diff --git a/sc/source/ui/docshell/datastream.cxx 
b/sc/source/ui/docshell/datastream.cxx
index 449a992..92f9519 100644
--- a/sc/source/ui/docshell/datastream.cxx
+++ b/sc/source/ui/docshell/datastream.cxx
@@ -27,6 +27,8 @@
 #include documentlinkmgr.hxx
 
 #include config_orcus.h
+#include officecfg/Office/Calc.hxx
+
 
 #if ENABLE_ORCUS
 #if defined WNT
@@ -501,18 +503,11 @@ void DataStream::MoveData()
 default:
 ;
 }
-
 if(mbIsFirst  mbIsUpdate)
 {
- int nImportTimeout = 0;
- static char * cenv = getenv( streamtimeout );
- if(cenv)
- {
- double nEnv = atof(cenv);
- nImportTimeout = 1000 * nEnv;
- }
- maImportTimer.SetTimeout(nImportTimeout);
- mbIsFirst = false;
+sal_Int32 nStreamTimeout = 
officecfg::Office::Calc::DataStream::UpdateTimeout::get();
+maImportTimer.SetTimeout(nStreamTimeout);
+mbIsFirst = false;
 }
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/20/11620/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/89/11589/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/85/11585/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/89/11589/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/07/11507/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/04/11504/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/36/11536/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/36/11536/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/86/11586/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/06/11506/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/06/11506/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/88/11588/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/83/11583/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/38/11538/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/84/11584/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/84/11584/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/03/11503/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/03/11503/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/38/11538/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/83/11583/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/90/11590/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/90/11590/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/4'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/79/11579/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/2'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/79/11579/1'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/3'

2014-09-29 Thread xukai

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-25 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |4 ++--
 chart2/source/view/main/3DChartObjects.cxx |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 62deb6d6227105d67e46dbfb89a43dc5e510791a
Author: xukai xu...@multicorewareinc.com
Date:   Wed Sep 24 13:47:53 2014 +0800

Changing the font properties makes it look better

Change-Id: I1be1833ef416e5eed1e7edbb1254302e28bacba7
Reviewed-on: https://gerrit.libreoffice.org/11620
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
old mode 100644
new mode 100755
index 05738d7..45aa0b3
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -1244,7 +1244,7 @@ void GL3DBarChart::addMovementScreenText(sal_uInt32 
nBarId)
 OUString aBarValue = OUString(Value: ) + 
OUString::number(rBarInfo.mnVal);
 maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), 
*mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, 
true));
 const opengl3D::TextCacheItem rTextCache = 
mpTextCache-getText(aBarValue);
-float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.015;
+float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.024;
 opengl3D::ScreenText* pScreenText = 
static_castopengl3D::ScreenText*(maScreenTextShapes.back());
 pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), 
glm::vec2(nRectWidth / 2, -0.03f), aTextPos);
 }
@@ -1441,7 +1441,7 @@ void GL3DBarChart::updateScroll()
 OUString aBarValue = OUString(Value: ) + 
OUString::number(aBarInfoList[i].mnVal);
 maScreenTextShapes.push_back(new 
opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 
0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true));
 const opengl3D::TextCacheItem rTextCache = 
mpTextCache-getText(aBarValue);
-float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.015;
+float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.024;
 glm::vec3 aTextPos = glm::vec3(aBarInfoList[i].maPos.x + 
BAR_SIZE_X / 2.0f,
   aBarInfoList[i].maPos.y + BAR_SIZE_Y / 
2.0f,
   aBarInfoList[i].maPos.z);
diff --git a/chart2/source/view/main/3DChartObjects.cxx 
b/chart2/source/view/main/3DChartObjects.cxx
index 13d1fb3..7bf6966 100755
--- a/chart2/source/view/main/3DChartObjects.cxx
+++ b/chart2/source/view/main/3DChartObjects.cxx
@@ -79,7 +79,7 @@ const TextCacheItem TextCache::getText(OUString const  
rText, bool bIs3dText)
 VirtualDevice aDevice(*Application::GetDefaultDevice(), 0, 0);
 vcl::Font aFont;
 if(bIs3dText)
-aFont = vcl::Font(postoffice Bold,Size(0,0));
+aFont = vcl::Font(Brillante St,Size(0,0));
 else
 aFont = aDevice.GetFont();
 aFont.SetSize(Size(0, 96));
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   45 -
 chart2/source/view/inc/GL3DBarChart.hxx|2 -
 2 files changed, 31 insertions(+), 16 deletions(-)

New commits:
commit b8c442f2b924b03533c7029af3ad10b79e8a89c3
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 16:38:41 2014 +0800

add 50 histories for histroy rendering

Change-Id: I26ff4655d682960ef397be27d5a9fc894502cf8a
Reviewed-on: https://gerrit.libreoffice.org/11579
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 6581392..8215158 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -29,7 +29,8 @@
 #define DATA_UPDATE_TIME 15
 #define FPS_TIME 500
 #define DATAUPDATE_FPS_TIME 1000
-#define HISTORY_NUM 5
+#define HISTORY_NUM 51
+#define COLUMNSIZE 25
 #define SHOW_VALUE_COUNT 15
 #define SHOW_SCROLL_TEXT_DISTANCE 1000
 #define FLY_THRESHOLD 20
@@ -1067,7 +1068,7 @@ void GL3DBarChart::updateRenderFPS()
 osl_getSystemTime(maFPSRenderStartTime);
 }
 osl_getSystemTime(maFPSRenderEndTime);
-addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.06f, true,
+addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true,
glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 
0.0f, 1.0f));
 }
 
@@ -1113,8 +1114,7 @@ void GL3DBarChart::updateDataUpdateFPS()
 osl_getSystemTime(maDataUpdateStartTime);
 }
 osl_getSystemTime(maDataUpdateEndTime);
-addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.93f), 0.06f, true,
-glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(0.0f, 1.0f, 
1.0f, 1.0f));
+addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.92f), 0.07f);
 }
 
 void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, float nVal)
@@ -1130,20 +1130,29 @@ void GL3DBarChart::updateClickEvent()
 if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || 
maRenderEvent == EVENT_SHOW_SELECT)
 {
 std::listfloat aList = maBarHistory[mnSelectBarId];
-sal_uInt32 aIdex = 0;
+sal_uInt32 nIdex = 0;
 OUString aTitle;
 OUString aBarValue;
+float nXCoordStart;
+float nYCoordStart;
 //write title
 if (aList.size()  1)
 {
 aTitle = OUString(Time  );
-addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f, false);
+addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f, false);
 aTitle = OUString(   Value);
-addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f);
+addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f);
+}
+if (aList.size()  COLUMNSIZE)
+{
+aTitle = OUString(Time  );
+addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f, false);
+aTitle = OUString(   Value);
+addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f);
 }
 for (std::listfloat::iterator it = aList.begin();it != 
aList.end();++it)
 {
-if (aIdex + 1 == aList.size())
+if (nIdex + 1 == aList.size())
 {
 aBarValue = OUString(Value: ) + OUString::number(*it);
 maScreenTextShapes.push_back(new 
opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 
0.0f, 1.0f, 1.0f), CALC_POS_EVENT_ID));
@@ -1159,20 +1168,26 @@ void GL3DBarChart::updateClickEvent()
 }
 else
 {
-aTitle = OUString([Time:) + 
OUString::number((maHistoryCounter - aList.size() + aIdex)) + ]: ;
-if (aIdex == 0)
+aTitle = OUString([Time:) + 
OUString::number((maHistoryCounter - aList.size() + nIdex)) + ]: ;
+if (nIdex == 0)
 {
 aTitle = OUString(Most Recent) + aTitle;
 }
-else if ((aIdex + 2) == aList.size())
+if (aList.size()  COLUMNSIZE)
+{
+nXCoordStart = 0.875f;
+nYCoordStart = (nIdex + 1) * 0.07f;
+}
+else
 {
-aTitle = OUString(Least Recent) + aTitle;
+nXCoordStart = nIdex  COLUMNSIZE ? 0.55f : 0.875f;
+nYCoordStart = nIdex  COLUMNSIZE ? (nIdex + 1) * 0.07f : 
(nIdex - 24) * 0.07f;
 }
-addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f - ((aIdex + 
1) * 0.1f)), 0.1f, false);
+addScreenTextShape(aTitle, glm::vec2(nXCoordStart, 0.99f - 
nYCoordStart), 0.07f, false);
 aBarValue = OUString::number(*it);
-addScreenTextShape(aBarValue, glm::vec2(0.8f, 0.99f - ((aIdex

[Libreoffice-commits] core.git: chart2/opengl chart2/source

2014-09-23 Thread xukai
 chart2/opengl/screenTextFragmentShader.glsl|6 +--
 chart2/source/view/charttypes/GL3DBarChart.cxx |   49 -
 chart2/source/view/inc/GL3DBarChart.hxx|4 +-
 chart2/source/view/main/GL3DRenderer.cxx   |6 ++-
 4 files changed, 41 insertions(+), 24 deletions(-)

New commits:
commit 7d833aa8a7e572dd266c1e9f52826cbdbfc95185
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 17:40:30 2014 +0800

add translucent balck background for history rendering

Change-Id: I9da69bdb29bb780776355e79fab61d5d9bb844a4
Reviewed-on: https://gerrit.libreoffice.org/11583
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/opengl/screenTextFragmentShader.glsl 
b/chart2/opengl/screenTextFragmentShader.glsl
index f76abee..f60b54fd 100644
--- a/chart2/opengl/screenTextFragmentShader.glsl
+++ b/chart2/opengl/screenTextFragmentShader.glsl
@@ -13,11 +13,11 @@ in vec2 vTexCoord;
 uniform sampler2D TextTex;
 uniform vec4 textColor;
 out vec4 actualColor;
-
 void main()
 {
-vec3 color = texture(TextTex, vTexCoord).rgb;
-actualColor = vec4(textColor.rgb, 1.0 - color.r);
+vec3 color = texture2D(TextTex, vTexCoord).rgb;
+actualColor = ((1.0 - color.r) == 0.0) ? vec4(0.0, 0.0, 0.0, textColor.a) :
+vec4(textColor.rgb, 1.0);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 8215158..5241aa8 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -360,6 +360,9 @@ void RenderBenchMarkThread::MoveToCorner()
 void RenderBenchMarkThread::ProcessScroll()
 {
 //will add other process later
+mpChart-mpRenderer-EndClick();
+mnStep = 0;
+mnStepsTotal = STEPS;
 mpChart-maRenderEvent = EVENT_SHOW_SCROLL;
 }
 
@@ -1019,7 +1022,7 @@ void GL3DBarChart::scroll(long nDelta)
 SharedResourceAccess(maCond1, maCond2);
 osl::MutexGuard aGuard(maMutex);
 if ((maRenderEvent != EVENT_NONE)  (maRenderEvent != 
EVENT_SHOW_SCROLL) 
-(maRenderEvent != EVENT_AUTO_FLY)  (maRenderEvent == 
EVENT_SHOW_SELECT))
+(maRenderEvent != EVENT_AUTO_FLY)  (maRenderEvent != 
EVENT_SHOW_SELECT))
 return;
 glm::vec3 maDir = glm::normalize(maCameraPosition - maCameraDirection);
 maCameraPosition -= (float((nDelta/10)) * maDir);
@@ -1042,17 +1045,18 @@ void GL3DBarChart::contextDestroyed()
 mbValidContext = false;
 }
 
-void GL3DBarChart::addScreenTextShape(OUString nStr, glm::vec2 
rLeftOrRightTop, float nTextHeight, bool bLeftTopFlag,
-const glm::vec3 rPos, const 
glm::vec4 rColor, sal_uInt32 nEvent)
+float GL3DBarChart::addScreenTextShape(OUString nStr, glm::vec2 
aLeftOrRightTop, float nTextHeight, bool bLeftTopFlag,
+const glm::vec4 rColor, const 
glm::vec3 rPos, sal_uInt32 nEvent)
 {
 maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), 
*mpTextCache, nStr, rColor, nEvent));
 const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(nStr);
 float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * nTextHeight / 2.0f;
 opengl3D::ScreenText* pScreenText = 
static_castopengl3D::ScreenText*(maScreenTextShapes.back());
 if (bLeftTopFlag)
-pScreenText-setPosition(rLeftOrRightTop, glm::vec2(rLeftOrRightTop.x 
+ nRectWidth, rLeftOrRightTop.y - nTextHeight), rPos);
+pScreenText-setPosition(aLeftOrRightTop, glm::vec2(aLeftOrRightTop.x 
+ nRectWidth, aLeftOrRightTop.y - nTextHeight), rPos);
 else
-pScreenText-setPosition(glm::vec2(rLeftOrRightTop.x - nRectWidth, 
rLeftOrRightTop.y), glm::vec2(rLeftOrRightTop.x, rLeftOrRightTop.y - 
nTextHeight), rPos);
+pScreenText-setPosition(glm::vec2(aLeftOrRightTop.x - nRectWidth, 
aLeftOrRightTop.y), glm::vec2(aLeftOrRightTop.x, aLeftOrRightTop.y - 
nTextHeight), rPos);
+return nRectWidth;
 }
 
 void GL3DBarChart::updateRenderFPS()
@@ -1069,7 +1073,7 @@ void GL3DBarChart::updateRenderFPS()
 }
 osl_getSystemTime(maFPSRenderEndTime);
 addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true,
-   glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 
0.0f, 1.0f));
+   glm::vec4(1.0f, 0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 
0.0f, 0.0f));
 }
 
 int GL3DBarChart::calcTimeInterval(TimeValue startTime, TimeValue endTime)
@@ -1133,29 +1137,32 @@ void GL3DBarChart::updateClickEvent()
 sal_uInt32 nIdex = 0;
 OUString aTitle;
 OUString aBarValue;
-float nXCoordStart;
-float nYCoordStart;
+float nXCoordStart, nYCoordStart, nTextWidth, nMaxXCoord = 0.0f, 
nMinXCoord = 1.0f, nMaxHight = 0.0f;
 //write title

[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit cc2bc03eb619e4016f6dd0e255726cda32a8dee6
Author: xukai xu...@multicorewareinc.com
Date:   Thu Aug 28 23:22:13 2014 +0800

fix the fly back bug

Change-Id: Ie866d02ab2ca3a5372dbeec6805eee42c8e10312
Reviewed-on: https://gerrit.libreoffice.org/11505
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 5241aa8..96f1019 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -310,6 +310,7 @@ void RenderBenchMarkThread::MoveToBar()
 maStepDirection = (maTargetDirection - 
mpChart-maCameraDirection)/((float)mnStepsTotal);
 mpChart-maClickCond.set();
 mbExecuting = true;
+mbNeedFlyBack = false;
 mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId);
 }
 MoveCamera();
@@ -339,6 +340,7 @@ void RenderBenchMarkThread::AutoMoveToBar()
 maStepDirection = (maTargetDirection - 
mpChart-maCameraDirection)/((float)mnStepsTotal);
 mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId);
 mbAutoFlyExecuting = true;
+mbNeedFlyBack = false;
 }
 MoveCamera();
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   64 +
 chart2/source/view/inc/GL3DBarChart.hxx|5 +
 2 files changed, 50 insertions(+), 19 deletions(-)

New commits:
commit 221c2eb24b5eeeadb265cfd010fd6851715b24b5
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 18:18:35 2014 +0800

Show values of bars in selected row

Change-Id: I18fbdcb05e3c95c20c96b426bf93e85657209f34
Reviewed-on: https://gerrit.libreoffice.org/11584
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 96f1019..d244c6f 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -34,6 +34,7 @@
 #define SHOW_VALUE_COUNT 15
 #define SHOW_SCROLL_TEXT_DISTANCE 1000
 #define FLY_THRESHOLD 20
+#define DISPLAY_BARS_NUM 3
 
 
 using namespace com::sun::star;
@@ -473,7 +474,8 @@ GL3DBarChart::GL3DBarChart(
 miDataUpdateCounter(0),
 mnColorRate(0),
 mbBenchMarkMode(false),
-maHistoryCounter(0)
+mnHistoryCounter(0),
+mnBarsInRow(0)
 {
 maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0;
 maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0;
@@ -573,6 +575,8 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vectorVDataSeries rDataSer
 sal_Int32 nSeriesIndex = 0;
 sal_Int32 nMaxPointCount = 0;
 double nMaxVal = findMaxValue(rDataSeriesContainer)/100;
+const VDataSeries rFirstRow = *(rDataSeriesContainer.begin());
+mnBarsInRow = rFirstRow.getTotalPointCount();
 for (boost::ptr_vectorVDataSeries::const_iterator itr = 
rDataSeriesContainer.begin(),
 itrEnd = rDataSeriesContainer.end(); itr != itrEnd; ++itr)
 {
@@ -767,7 +771,7 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vectorVDataSeries rDataSer
 spawnRenderThread(new RenderBenchMarkThread(this));
 }
 miDataUpdateCounter++;
-maHistoryCounter++;
+mnHistoryCounter++;
 mbNeedsNewRender = true;
 }
 
@@ -1131,12 +1135,45 @@ void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, 
float nVal)
 aList.push_back(nVal);
 }
 
+void GL3DBarChart::getNeighborBarID(sal_uInt32 nSelectBarId, sal_uInt32 
*pNeighborBarId)
+{
+sal_uInt32 nSelectRow = (nSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
+for (sal_Int32 i = 0; i  DISPLAY_BARS_NUM; i++)
+{
+pNeighborBarId[i] = nSelectBarId + (i - DISPLAY_BARS_NUM / 2) * 
ID_STEP;
+if (pNeighborBarId[i] == nSelectBarId)
+continue;
+if ((pNeighborBarId[i] - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1) 
!= nSelectRow)
+pNeighborBarId[i] = 0;
+}
+}
+
+void GL3DBarChart::addMovementScreenText(sal_uInt32 nBarId)
+{
+if (nBarId == 0)
+return;
+std::mapsal_uInt32, const BarInformation::const_iterator itr = 
maBarMap.find(nBarId);
+if (itr == maBarMap.end())
+return;
+const BarInformation rBarInfo = itr-second;
+glm::vec3 aTextPos = glm::vec3(rBarInfo.maPos.x + BAR_SIZE_X / 2.0f,
+  rBarInfo.maPos.y + BAR_SIZE_Y / 2.0f,
+  rBarInfo.maPos.z);
+OUString aBarValue = OUString(Value: ) + 
OUString::number(rBarInfo.mnVal);
+maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), 
*mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID));
+const opengl3D::TextCacheItem rTextCache = 
mpTextCache-getText(aBarValue);
+float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.03;
+opengl3D::ScreenText* pScreenText = 
static_castopengl3D::ScreenText*(maScreenTextShapes.back());
+pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), 
glm::vec2(nRectWidth / 2, -0.03f), aTextPos);
+}
+
 void GL3DBarChart::updateClickEvent()
 {
 if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || 
maRenderEvent == EVENT_SHOW_SELECT)
 {
 std::listfloat aList = maBarHistory[mnSelectBarId];
 sal_uInt32 nIdex = 0;
+sal_uInt32 nBarIdArray[DISPLAY_BARS_NUM] = {0};
 OUString aTitle;
 OUString aBarValue;
 float nXCoordStart, nYCoordStart, nTextWidth, nMaxXCoord = 0.0f, 
nMinXCoord = 1.0f, nMaxHight = 0.0f;
@@ -1159,25 +1196,12 @@ void GL3DBarChart::updateClickEvent()
 nTextWidth = addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 
0.07f, true, glm::vec4(0.0f, 1.0f, 1.0f, 0.5f));
 nMaxXCoord = std::max(nMaxXCoord, 0.55f + nTextWidth);
 }
+getNeighborBarID(mnSelectBarId, nBarIdArray);
 for (std::listfloat::iterator it = aList.begin();it != 
aList.end();++it)
 {
-if (nIdex + 1 == aList.size())
+if (nIdex + 1  aList.size())
 {
-aBarValue = OUString(Value

[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

New commits:
commit 35d4c21bf0faaffb87c5197f6d0b3d798aca33bd
Author: xukai xu...@multicorewareinc.com
Date:   Tue Sep 2 16:04:36 2014 +0800

Update the color of FPS text

Change-Id: Ic6f5889e24f98101426fc215c0313122797400b7
Reviewed-on: https://gerrit.libreoffice.org/11507
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index d244c6f..0604f0e 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -1073,12 +1073,14 @@ void GL3DBarChart::updateRenderFPS()
 osl_getSystemTime(maFPSRenderEndTime);
 nDeltaMs = calcTimeInterval(maFPSRenderStartTime, maFPSRenderEndTime);
 int iFPS = miFrameCount * 1000 / nDeltaMs;
-maFPS = OUString(Render FPS: ) + OUString::number(iFPS);
+maFPS =  OUString::number(iFPS);
 miFrameCount = 0;
 osl_getSystemTime(maFPSRenderStartTime);
 }
 osl_getSystemTime(maFPSRenderEndTime);
-addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true,
+OUString aFPS = OUString(Render FPS: );
+addScreenTextShape(aFPS, glm::vec2(-0.77f, 0.99f), 0.07f, false, 
glm::vec4(0.0f, 1.0f, 1.0f, 0.0f));
+addScreenTextShape(maFPS, glm::vec2(-0.77f, 0.99f), 0.07f, true,
glm::vec4(1.0f, 0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 
0.0f, 0.0f));
 }
 
@@ -1113,18 +1115,20 @@ void GL3DBarChart::updateDataUpdateFPS()
 int iFPS = miDataUpdateCounter * 1000 / nDeltaMs;
 if (iFPS)
 {
-maDataUpdateFPS = OUString(Data Update Rate: ) + 
OUString::number(iFPS);
+maDataUpdateFPS = OUString::number(iFPS);
 }
 else
 {
 float fFPS = (float)miDataUpdateCounter * 1000 / (float)nDeltaMs;
-maDataUpdateFPS = OUString(Data Update Rate: ) + 
OUString::number(fFPS);
+maDataUpdateFPS = OUString::number(fFPS);
 }
 miDataUpdateCounter = 0;
 osl_getSystemTime(maDataUpdateStartTime);
 }
 osl_getSystemTime(maDataUpdateEndTime);
-addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.92f), 0.07f);
+OUString aDataUpdateFPS = OUString(Data Update Rate: );
+addScreenTextShape(aDataUpdateFPS, glm::vec2(-0.77, 0.92f), 0.07f, false, 
glm::vec4(0.0f, 1.0f, 1.0f, 0.0f));
+addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.77f, 0.92f), 0.07f, true, 
glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
 }
 
 void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, float nVal)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/inc/3DChartObjects.hxx  |6 +++---
 chart2/source/view/main/3DChartObjects.cxx |   12 
 2 files changed, 11 insertions(+), 7 deletions(-)

New commits:
commit 98cb400d08a35d26e211fffda24e5b7c6e6672bf
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 19:01:31 2014 +0800

3D fonts suport

Change-Id: Id8142586e8ace4ba91a30b2f78d1216f89f22148
Reviewed-on: https://gerrit.libreoffice.org/11585
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/inc/3DChartObjects.hxx 
b/chart2/source/view/inc/3DChartObjects.hxx
old mode 100644
new mode 100755
index 49b21a3..39d09b4
--- a/chart2/source/view/inc/3DChartObjects.hxx
+++ b/chart2/source/view/inc/3DChartObjects.hxx
@@ -37,7 +37,7 @@ struct TextCacheItem
 class TextCache
 {
 public:
-const TextCacheItem getText(OUString const  rText);
+const TextCacheItem getText(OUString const  rText, bool bIs3dText = 
false);
 private:
 typedef boost::ptr_mapOUString const, TextCacheItem TextCacheType;
 
@@ -108,8 +108,8 @@ private:
 class ScreenText : public Renderable3DObject
 {
 public:
-ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache, const 
OUString rStr,
-const glm::vec4 rColor, sal_uInt32 nId);
+ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache,
+const OUString rStr, glm::vec4 rColor, sal_uInt32 nId, bool bIs3dText 
= false);
 
 virtual void render() SAL_OVERRIDE;
 void setPosition(const glm::vec2 rTopLeft, const glm::vec2 rBottomRight,
diff --git a/chart2/source/view/main/3DChartObjects.cxx 
b/chart2/source/view/main/3DChartObjects.cxx
old mode 100644
new mode 100755
index c0992e4..13d1fb3
--- a/chart2/source/view/main/3DChartObjects.cxx
+++ b/chart2/source/view/main/3DChartObjects.cxx
@@ -70,14 +70,18 @@ void Line::setLineColor(const Color rColor)
 maLineColor = rColor;
 }
 
-const TextCacheItem TextCache::getText(OUString const  rText)
+const TextCacheItem TextCache::getText(OUString const  rText, bool bIs3dText)
 {
 TextCacheType::const_iterator itr = maTextCache.find(rText);
 if(itr != maTextCache.end())
 return *itr-second;
 
 VirtualDevice aDevice(*Application::GetDefaultDevice(), 0, 0);
-vcl::Font aFont = aDevice.GetFont();
+vcl::Font aFont;
+if(bIs3dText)
+aFont = vcl::Font(postoffice Bold,Size(0,0));
+else
+aFont = aDevice.GetFont();
 aFont.SetSize(Size(0, 96));
 static bool bOldRender = getenv(OLDRENDER);
 if (bOldRender)
@@ -129,9 +133,9 @@ void Text::setPosition(const glm::vec3 rTopLeft, const 
glm::vec3 rTopRight, co
 }
 
 ScreenText::ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache,
-const OUString rStr, const glm::vec4 rColor, sal_uInt32 nId):
+const OUString rStr, glm::vec4 rColor, sal_uInt32 nId, bool 
bIs3dText):
 Renderable3DObject(pRenderer, nId),
-maText(rTextCache.getText(rStr)),
+maText(rTextCache.getText(rStr,bIs3dText)),
 maColor(rColor)
 {
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 57cc338ddfd2fcca35641ef9f49f13caac932754
Author: xukai xu...@multicorewareinc.com
Date:   Fri Sep 19 13:10:57 2014 +0800

Using 3D fonts

Change-Id: If6cdece9f100f51b7a69ac4be4e316fb9c9928d5
Reviewed-on: https://gerrit.libreoffice.org/11535
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 0604f0e..b863dee 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -1164,9 +1164,9 @@ void GL3DBarChart::addMovementScreenText(sal_uInt32 
nBarId)
   rBarInfo.maPos.y + BAR_SIZE_Y / 2.0f,
   rBarInfo.maPos.z);
 OUString aBarValue = OUString(Value: ) + 
OUString::number(rBarInfo.mnVal);
-maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), 
*mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID));
+maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), 
*mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, 
true));
 const opengl3D::TextCacheItem rTextCache = 
mpTextCache-getText(aBarValue);
-float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.03;
+float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.015;
 opengl3D::ScreenText* pScreenText = 
static_castopengl3D::ScreenText*(maScreenTextShapes.back());
 pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), 
glm::vec2(nRectWidth / 2, -0.03f), aTextPos);
 }
@@ -1361,9 +1361,9 @@ void GL3DBarChart::updateScroll()
 for(size_t i = 0; i  aBarInfoList.size(); i++)
 {
 OUString aBarValue = OUString(Value: ) + 
OUString::number(aBarInfoList[i].mnVal);
-maScreenTextShapes.push_back(new 
opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 
0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID));
+maScreenTextShapes.push_back(new 
opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 
0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true));
 const opengl3D::TextCacheItem rTextCache = 
mpTextCache-getText(aBarValue);
-float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.03;
+float nRectWidth = (float)rTextCache.maSize.Width() / 
(float)rTextCache.maSize.Height() * 0.015;
 glm::vec3 aTextPos = glm::vec3(aBarInfoList[i].maPos.x + 
BAR_SIZE_X / 2.0f,
   aBarInfoList[i].maPos.y + BAR_SIZE_Y / 
2.0f,
   aBarInfoList[i].maPos.z);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit e975f78a306df35663319d03c882cb679c12e20c
Author: xukai xu...@multicorewareinc.com
Date:   Sat Sep 13 10:31:42 2014 +0800

instead of a top view a 45 degree view

Change-Id: Iaf922b998552778c527440c4b3a83cb8c05d2a6e
Reviewed-on: https://gerrit.libreoffice.org/11536
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index b863dee..3474de3 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -304,10 +304,11 @@ void RenderBenchMarkThread::MoveToBar()
 glm::vec3 maTargetPosition = rBarInfo.maPos;
 maTargetPosition.z += 240;
 maTargetPosition.x += BAR_SIZE_X / 2.0f;
-maStep = (maTargetPosition - 
mpChart-maCameraPosition)/((float)mnStepsTotal);
 glm::vec3 maTargetDirection = rBarInfo.maPos;
 maTargetDirection.x += BAR_SIZE_X / 2.0f;
 maTargetDirection.y += BAR_SIZE_Y / 2.0f;
+maTargetPosition.y = maTargetDirection.y - 240;
+maStep = (maTargetPosition - 
mpChart-maCameraPosition)/((float)mnStepsTotal);
 maStepDirection = (maTargetDirection - 
mpChart-maCameraDirection)/((float)mnStepsTotal);
 mpChart-maClickCond.set();
 mbExecuting = true;
@@ -334,10 +335,11 @@ void RenderBenchMarkThread::AutoMoveToBar()
 glm::vec3 maTargetPosition = rBarInfo.maPos;
 maTargetPosition.z += 240;
 maTargetPosition.x += BAR_SIZE_X / 2.0f;
-maStep = (maTargetPosition - 
mpChart-maCameraPosition)/((float)mnStepsTotal);
 glm::vec3 maTargetDirection = rBarInfo.maPos;
 maTargetDirection.x += BAR_SIZE_X / 2.0f;
 maTargetDirection.y += BAR_SIZE_Y / 2.0f;
+maTargetPosition.y = maTargetDirection.y - 240;
+maStep = (maTargetPosition - 
mpChart-maCameraPosition)/((float)mnStepsTotal);
 maStepDirection = (maTargetDirection - 
mpChart-maCameraDirection)/((float)mnStepsTotal);
 mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId);
 mbAutoFlyExecuting = true;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/inc/GL3DRenderer.hxx  |4 
 chart2/source/view/main/GL3DRenderer.cxx |   23 +++
 2 files changed, 27 insertions(+)

New commits:
commit 080bab41b64d9531c9d2ae9e5125fd4876bca0bb
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 19:50:26 2014 +0800

Add function:GetDiffOfTwoCameras

Change-Id: I3b3f4e8e18d5970d408adcf0457bfdd4e064e37c
Reviewed-on: https://gerrit.libreoffice.org/11588
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/inc/GL3DRenderer.hxx 
b/chart2/source/view/inc/GL3DRenderer.hxx
index fe3e96d..655120c 100644
--- a/chart2/source/view/inc/GL3DRenderer.hxx
+++ b/chart2/source/view/inc/GL3DRenderer.hxx
@@ -282,6 +282,9 @@ private:
 void SetHighLightBar(BatchBarInfo barInfo);
 void DisableHighLightBar(BatchBarInfo barInfo);
 void CalcScrollMoveMatrix(bool bNewScene);
+glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 
rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection);
+void AddMatrixDiff(const glm::mat4 aMat);
+void ResetMatrixDiff();
 private:
 
 struct ShaderResources
@@ -478,6 +481,7 @@ private:
 float m_fCurDistance;
 glm::mat4 m_ScrollMoveMatrix;
 bool m_bUndrawFlag;
+glm::mat4 m_matDiff;
 };
 
 }
diff --git a/chart2/source/view/main/GL3DRenderer.cxx 
b/chart2/source/view/main/GL3DRenderer.cxx
index 5991a3f..c3397a4 100644
--- a/chart2/source/view/main/GL3DRenderer.cxx
+++ b/chart2/source/view/main/GL3DRenderer.cxx
@@ -96,6 +96,7 @@ OpenGL3DRenderer::OpenGL3DRenderer():
 , m_fCurDistance(0.0f)
 , m_ScrollMoveMatrix(glm::mat4(1.0))
 , m_bUndrawFlag(false)
+, m_matDiff(glm::mat4(0.0))
 {
 m_Polygon3DInfo.lineOnly = false;
 m_Polygon3DInfo.twoSidesLighting = false;
@@ -2138,6 +2139,17 @@ void OpenGL3DRenderer::CreateSceneBoxView()
 m_3DView = glm::lookAt(m_CameraInfo.cameraPos,
m_CameraInfo.cameraOrg,
m_CameraInfo.cameraUp);
+m_3DView = m_3DView + m_matDiff;
+}
+
+void OpenGL3DRenderer::AddMatrixDiff(const glm::mat4 aMat)
+{
+m_matDiff = m_matDiff + aMat;
+}
+
+void OpenGL3DRenderer::ResetMatrixDiff()
+{
+m_matDiff = glm::mat4(0.0);
 }
 
 void OpenGL3DRenderer::ClearBuffer()
@@ -2440,6 +2452,17 @@ void OpenGL3DRenderer::CalcScrollMoveMatrix(bool 
bNewScene)
 m_bUndrawFlag = m_fCurDistance = m_fScrollDistance ? true : false;
 }
 
+glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const glm::vec3 rBeginPos, 
const glm::vec3 rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 
rEndDirection)
+{
+glm::mat4 aBegin = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * 
glm::vec4(rBeginPos, 1.0)),
+  glm::vec3(m_GlobalScaleMatrix * glm::vec4(rBeginDirection, 1.0)),
+  glm::vec3(0, 0, 1));
+glm::mat4 aEnd = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * 
glm::vec4(rEndPos, 1.0)),
+  glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndDirection, 1.0)),
+  glm::vec3(0, 0, 1));
+return aEnd - aBegin;
+}
+
 glm::mat4 OpenGL3DRenderer::GetProjectionMatrix()
 {
 return m_3DProjection;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/inc/GL3DRenderer.hxx  |7 ---
 chart2/source/view/main/GL3DRenderer.cxx |7 +++
 2 files changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 192b360cfb1bf422f282f4c93e7d0fc0fe83f7db
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 20:06:32 2014 +0800

overloaded function GetDiffOfTwoCameras

Change-Id: Ic195c846364ddf9c798d019eed23c27200713017
Reviewed-on: https://gerrit.libreoffice.org/11589
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/inc/GL3DRenderer.hxx 
b/chart2/source/view/inc/GL3DRenderer.hxx
old mode 100644
new mode 100755
index 655120c..b4597a1
--- a/chart2/source/view/inc/GL3DRenderer.hxx
+++ b/chart2/source/view/inc/GL3DRenderer.hxx
@@ -220,6 +220,10 @@ public:
 glm::mat4 GetProjectionMatrix();
 glm::mat4 GetViewMatrix();
 glm::mat4 GetGlobalScaleMatrix();
+glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 
rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection);
+glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rEndPos, const glm::vec3 
rEndDirection);
+void AddMatrixDiff(const glm::mat4 aMat);
+void ResetMatrixDiff();
 private:
 void MoveModelf( const PosVecf3 trans, const PosVecf3 angle, const 
PosVecf3 scale);
 
@@ -282,9 +286,6 @@ private:
 void SetHighLightBar(BatchBarInfo barInfo);
 void DisableHighLightBar(BatchBarInfo barInfo);
 void CalcScrollMoveMatrix(bool bNewScene);
-glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 
rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection);
-void AddMatrixDiff(const glm::mat4 aMat);
-void ResetMatrixDiff();
 private:
 
 struct ShaderResources
diff --git a/chart2/source/view/main/GL3DRenderer.cxx 
b/chart2/source/view/main/GL3DRenderer.cxx
old mode 100644
new mode 100755
index c3397a4..6b0004f
--- a/chart2/source/view/main/GL3DRenderer.cxx
+++ b/chart2/source/view/main/GL3DRenderer.cxx
@@ -2463,6 +2463,13 @@ glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const 
glm::vec3 rBeginPos, cons
 return aEnd - aBegin;
 }
 
+glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const glm::vec3 rEndPos, 
const glm::vec3 rEndDirection)
+{
+glm::mat4 aEnd = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * 
glm::vec4(rEndPos, 1.0)),
+ glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndDirection, 
1.0)),glm::vec3(0, 0, 1));
+return aEnd - m_3DView;
+}
+
 glm::mat4 OpenGL3DRenderer::GetProjectionMatrix()
 {
 return m_3DProjection;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   74 +
 1 file changed, 52 insertions(+), 22 deletions(-)

New commits:
commit 5c9ca2fb863e84ae2328f6b0186e137cd5f02ed6
Author: xukai xu...@multicorewareinc.com
Date:   Fri Sep 19 15:18:41 2014 +0800

update effect of bar click

Change-Id: Ibb09537d418e78c7fc9b6760988abd56505268b3
Reviewed-on: https://gerrit.libreoffice.org/11539
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index d07653f..9b44421 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -567,6 +567,19 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vectorVDataSeries rDataSer
 {
 SharedResourceAccess(maCond1, maCond2);
 osl::MutexGuard aGuard(maMutex);
+mnPreSelectBarId = mnSelectBarId;
+mnSelectBarId -= 10;
+sal_uInt32 nSelectRow = (mnSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
+sal_uInt32 nPreSelectRow = (mnPreSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
+if(nSelectRow != nPreSelectRow)
+{
+mnSelectBarId = mnPreSelectBarId;
+}
+else
+{
+mpRenderer-EndClick();
+mpRenderer-StartClick(mnSelectBarId);
+}
 mpRenderer-ReleaseShapes();
 // Each series of data flows from left to right, and multiple series are
 // stacked vertically along y axis.
commit 32d267f556634d3bbceba4978efc4d8cb62b148c
Author: xukai xu...@multicorewareinc.com
Date:   Mon Sep 22 20:08:26 2014 +0800

make Camera flythrough looks more smooth

Change-Id: I46f79bb6ede2da133fe8971319fc4b7257848382
Reviewed-on: https://gerrit.libreoffice.org/11590
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 3474de3..d07653f 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -209,6 +209,7 @@ protected:
 private:
 void ProcessMouseEvent();
 void MoveCamera();
+void MoveCameraToBar();
 void MoveToBar();
 void MoveToDefault();
 void MoveToCorner();
@@ -224,11 +225,14 @@ private:
 bool mbNeedFlyBack;
 glm::vec3 maStep;
 glm::vec3 maStepDirection;
+glm::mat4 maMatrixStep;
 size_t mnStep;
 size_t mnStepsTotal;
 TimeValue maClickFlyBackStartTime;
 TimeValue maClickFlyBackEndTime;
 OUString maFPS;
+glm::vec3 maTargetPosition;
+glm::vec3 maTargetDirection;
 };
 
 void RenderBenchMarkThread::MoveCamera()
@@ -246,21 +250,36 @@ void RenderBenchMarkThread::MoveCamera()
 mnStep = 0;
 mbExecuting = false;
 mbAutoFlyExecuting = false;
-if ((mpChart-maRenderEvent == EVENT_CLICK) || (mpChart-maRenderEvent 
== EVENT_AUTO_FLY))
-{
-mbNeedFlyBack = true;
-osl_getSystemTime(maClickFlyBackStartTime);
-osl_getSystemTime(maClickFlyBackEndTime);
-mpChart-maRenderEvent = EVENT_SHOW_SELECT;
-}
-else
-{
-mbNeedFlyBack = false;
-mpChart-maRenderEvent = EVENT_NONE;
-}
+mbNeedFlyBack = false;
+mpChart-maRenderEvent = EVENT_NONE;
+}
+}
+
+void RenderBenchMarkThread::MoveCameraToBar()
+{
+if(mnStep  mnStepsTotal)
+{
+++mnStep;
+mpChart-mpRenderer-AddMatrixDiff(maMatrixStep);
+}
+else
+{
+mpChart-maCameraPosition = maTargetPosition;
+mpChart-maCameraDirection = maTargetDirection;
+mpChart-mpCamera-setPosition(maTargetPosition);
+mpChart-mpCamera-setDirection(maTargetDirection);
+mpChart-mpRenderer-ResetMatrixDiff();
+mnStep = 0;
+mbExecuting = false;
+mbAutoFlyExecuting = false;
+mbNeedFlyBack = true;
+osl_getSystemTime(maClickFlyBackStartTime);
+osl_getSystemTime(maClickFlyBackEndTime);
+mpChart-maRenderEvent = EVENT_SHOW_SELECT;
 }
 }
 
+
 void RenderBenchMarkThread::MoveToDefault()
 {
 if ((mpChart-maCameraPosition == mpChart-maDefaultCameraDirection) 
@@ -301,21 +320,20 @@ void RenderBenchMarkThread::MoveToBar()
 const GL3DBarChart::BarInformation rBarInfo = itr-second;
 mnStep = 0;
 mnStepsTotal = STEPS;
-glm::vec3 maTargetPosition = rBarInfo.maPos;
+maTargetPosition = rBarInfo.maPos;
 maTargetPosition.z += 240;
 maTargetPosition.x += BAR_SIZE_X / 2.0f;
-glm::vec3 maTargetDirection = rBarInfo.maPos;
+maTargetDirection = rBarInfo.maPos;
 maTargetDirection.x += BAR_SIZE_X / 2.0f;
 maTargetDirection.y += BAR_SIZE_Y / 2.0f;
 maTargetPosition.y = maTargetDirection.y - 240

[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   11 +--
 chart2/source/view/inc/GL3DBarChart.hxx|1 +
 2 files changed, 10 insertions(+), 2 deletions(-)

New commits:
commit bc1b8dd63e74c255a989ac51a92d7db0bba75bc3
Author: xukai xu...@multicorewareinc.com
Date:   Fri Sep 19 15:26:34 2014 +0800

use environment AUTO_FLY to control if autofly

Change-Id: Ie47dfdc5f3b07f6e1a6336fc235ac6ccd5d53cab
Reviewed-on: https://gerrit.libreoffice.org/11540
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 9b44421..7eefac6 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -494,7 +494,8 @@ GL3DBarChart::GL3DBarChart(
 mnColorRate(0),
 mbBenchMarkMode(false),
 mnHistoryCounter(0),
-mnBarsInRow(0)
+mnBarsInRow(0),
+mbAutoFly(false)
 {
 maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0;
 maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0;
@@ -518,6 +519,11 @@ GL3DBarChart::GL3DBarChart(
 mpRenderer-SetScroll();
 }
 }
+char *aAutoFly = getenv(AUTO_FLY);
+if (aAutoFly)
+{
+mbAutoFly = atoi(aAutoFly);
+}
 maTimer.SetTimeout(DATA_UPDATE_TIME);
 maTimer.SetTimeoutHdl(LINK(this, GL3DBarChart, updateTimer));
 maTimer.Start();
@@ -676,7 +682,8 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vectorVDataSeries rDataSer
 }
 else
 {
-processAutoFly(nId, nColor);
+if(mbAutoFly)
+processAutoFly(nId, nColor);
 }
 }
 maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), 
aBarPosition, nColor, nId));
diff --git a/chart2/source/view/inc/GL3DBarChart.hxx 
b/chart2/source/view/inc/GL3DBarChart.hxx
index bebca58..4ae2385 100644
--- a/chart2/source/view/inc/GL3DBarChart.hxx
+++ b/chart2/source/view/inc/GL3DBarChart.hxx
@@ -192,6 +192,7 @@ private:
 bool mbBenchMarkMode;
 sal_uInt32 mnHistoryCounter;
 sal_uInt32 mnBarsInRow;
+bool mbAutoFly;
 
 
 // these form a pair:
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9d97b1a7b1c7f3258335513518c762bd16745f17
Author: xukai xu...@multicorewareinc.com
Date:   Fri Sep 19 15:53:20 2014 +0800

fdo#84001: update environment name BENCHMARK_MODE to UNLOCK_FPS_MODE

Change-Id: I7837b2b2639cd003931227f3eb957ef90b905fd0

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 7eefac6..cf05724 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -502,7 +502,7 @@ GL3DBarChart::GL3DBarChart(
 maDataUpdateStartTime.Seconds = maDataUpdateStartTime.Nanosec = 0;
 maDataUpdateEndTime.Seconds = maDataUpdateEndTime.Nanosec = 0;
 
-static const char *aBenchMark = getenv(UNLOCKED_FRAMERATE);
+static const char *aBenchMark = getenv(UNLOCK_FPS_MODE);
 if (aBenchMark)
 {
 mbBenchMarkMode = atoi(aBenchMark);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source

2014-09-23 Thread xukai
 chart2/source/view/charttypes/GL3DBarChart.cxx |   68 +++--
 chart2/source/view/inc/GL3DBarChart.hxx|5 +
 2 files changed, 57 insertions(+), 16 deletions(-)

New commits:
commit 7f895dfbf5fb084d747e52db678d75e3273cd825
Author: xukai xu...@multicorewareinc.com
Date:   Fri Sep 19 15:38:19 2014 +0800

update camera when bar is clicked

Change-Id: Icf397070d1b17a282a07e166d1387881b854b337
Reviewed-on: https://gerrit.libreoffice.org/11541
Reviewed-by: Kohei Yoshida libreoff...@kohei.us
Tested-by: Kohei Yoshida libreoff...@kohei.us

diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index cf05724..5a05323 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -42,7 +42,7 @@ using namespace com::sun::star;
 namespace chart {
 
 const size_t STEPS = 200;
-
+const size_t STEPS_UPDATE = 100;
 namespace {
 
 const float TEXT_HEIGHT = 10.0f;
@@ -211,6 +211,7 @@ private:
 void MoveCamera();
 void MoveCameraToBar();
 void MoveToBar();
+void MoveToSelectedBar();
 void MoveToDefault();
 void MoveToCorner();
 void ProcessScroll();
@@ -336,6 +337,36 @@ void RenderBenchMarkThread::MoveToBar()
 MoveCameraToBar();
 }
 
+void RenderBenchMarkThread::MoveToSelectedBar()
+{
+mpChart-mnSelectBarId = mpChart-mnUpdateBarId;
+std::mapsal_uInt32, const GL3DBarChart::BarInformation::const_iterator 
itr = mpChart-maBarMap.find(mpChart-mnSelectBarId);
+if(itr == mpChart-maBarMap.end())
+{
+mpChart-mnSelectBarId = mpChart-mnPreSelectBarId;
+mpChart-maRenderEvent = mpChart-maPreRenderEvent;
+mpChart-maClickCond.set();
+return;
+}
+mpChart-mpRenderer-EndClick();
+const GL3DBarChart::BarInformation rBarInfo = itr-second;
+mnStep = 0;
+mnStepsTotal = STEPS_UPDATE;
+maTargetPosition = rBarInfo.maPos;
+maTargetPosition.z += 240;
+maTargetPosition.x += BAR_SIZE_X / 2.0f;
+maTargetDirection = rBarInfo.maPos;
+maTargetDirection.x += BAR_SIZE_X / 2.0f;
+maTargetDirection.y += BAR_SIZE_Y / 2.0f;
+maTargetPosition.y = maTargetDirection.y - 240;
+maMatrixStep = mpChart-mpRenderer-GetDiffOfTwoCameras( maTargetPosition, 
 maTargetDirection)/((float)mnStepsTotal);
+mpChart-maClickCond.set();
+mbExecuting = true;
+mbNeedFlyBack = false;
+mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId);
+mpChart-maRenderEvent = EVENT_CLICK;
+}
+
 void RenderBenchMarkThread::AutoMoveToBar()
 {
 if (!mbAutoFlyExecuting)
@@ -403,7 +434,11 @@ void RenderBenchMarkThread::ProcessClickFlyBack()
 void RenderBenchMarkThread::ProcessMouseEvent()
 {
 ProcessClickFlyBack();
-if (mpChart-maRenderEvent == EVENT_CLICK)
+if (mpChart-maRenderEvent == EVENT_SELECTBAR_UPDEDATE)
+{
+MoveToSelectedBar();
+}
+else if (mpChart-maRenderEvent == EVENT_CLICK)
 {
 MoveToBar();
 }
@@ -495,7 +530,8 @@ GL3DBarChart::GL3DBarChart(
 mbBenchMarkMode(false),
 mnHistoryCounter(0),
 mnBarsInRow(0),
-mbAutoFly(false)
+mbAutoFly(false),
+mnUpdateBarId(0)
 {
 maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0;
 maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0;
@@ -573,18 +609,22 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vectorVDataSeries rDataSer
 {
 SharedResourceAccess(maCond1, maCond2);
 osl::MutexGuard aGuard(maMutex);
-mnPreSelectBarId = mnSelectBarId;
-mnSelectBarId -= 10;
-sal_uInt32 nSelectRow = (mnSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
-sal_uInt32 nPreSelectRow = (mnPreSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
-if(nSelectRow != nPreSelectRow)
-{
-mnSelectBarId = mnPreSelectBarId;
-}
-else
+if(mnSelectBarId)
 {
-mpRenderer-EndClick();
-mpRenderer-StartClick(mnSelectBarId);
+int nSelectBarId = mnSelectBarId;
+int nPreSelectBarId = nSelectBarId;
+nSelectBarId -= 10;
+sal_uInt32 nSelectRow = (nSelectBarId - SHAPE_START_ID) / ID_STEP / 
(mnBarsInRow + 1);
+sal_uInt32 nPreSelectRow = (nPreSelectBarId - SHAPE_START_ID) / 
ID_STEP / (mnBarsInRow + 1);
+if(nSelectRow == nPreSelectRow)
+{
+std::mapsal_uInt32, const 
GL3DBarChart::BarInformation::const_iterator itr = maBarMap.find(nSelectBarId);
+if((maRenderEvent == EVENT_CLICK || maRenderEvent == 
EVENT_SHOW_SELECT || maRenderEvent == EVENT_AUTO_FLY)(itr != maBarMap.end()))
+{
+mnUpdateBarId = nSelectBarId;
+maRenderEvent = EVENT_SELECTBAR_UPDEDATE;
+}
+}
 }
 mpRenderer-ReleaseShapes();
 // Each series of data flows from left to right, and multiple series are
diff --git a/chart2/source/view/inc/GL3DBarChart.hxx 
b/chart2/source/view/inc

[Libreoffice-commits] core.git: 10 commits - chart2/opengl chart2/Package_opengl.mk chart2/source

2014-05-05 Thread xukai
 chart2/Package_opengl.mk   |2 
 chart2/opengl/shape3DFragmentShader.glsl   |  111 +
 chart2/opengl/shape3DVertexShader.glsl |   30 +
 chart2/source/view/inc/3DChartObjects.hxx  |   12 ++
 chart2/source/view/inc/GL3DRenderer.hxx|   11 +-
 chart2/source/view/main/3DChartObjects.cxx |   34 ++
 chart2/source/view/main/GL3DRenderer.cxx   |  148 +++--
 7 files changed, 254 insertions(+), 94 deletions(-)

New commits:
commit e0dc3c8a0a69bb44a583b42d6fb823efbc311dc5
Author: xukai xu...@multicorewareinc.com
Date:   Mon May 5 14:05:08 2014 +0800

add codes to Line::render()

Change-Id: I6510f486707b08ea8f611105f40cc4c7e1581a7f

diff --git a/chart2/source/view/inc/3DChartObjects.hxx 
b/chart2/source/view/inc/3DChartObjects.hxx
index 54b6a24..b1f8de4 100644
--- a/chart2/source/view/inc/3DChartObjects.hxx
+++ b/chart2/source/view/inc/3DChartObjects.hxx
@@ -54,6 +54,8 @@ class Line : public Renderable3DObject
 public:
 Line( sal_uInt32 nId );
 
+virtual void render() SAL_OVERRIDE;
+
 private:
 glm::vec3 maPosBegin;
 glm::vec3 maPosEnd;
@@ -87,7 +89,7 @@ class Camera : public Renderable3DObject
 {
 public:
 Camera();
-virtual void render();
+virtual void render() SAL_OVERRIDE;
 private:
 glm::vec3 maPos;
 glm::vec3 maUp;
diff --git a/chart2/source/view/main/3DChartObjects.cxx 
b/chart2/source/view/main/3DChartObjects.cxx
index 38279a3..045107b 100644
--- a/chart2/source/view/main/3DChartObjects.cxx
+++ b/chart2/source/view/main/3DChartObjects.cxx
@@ -54,6 +54,14 @@ Line::Line(sal_uInt32 nId):
 {
 }
 
+void Line::render()
+{
+getRender()-AddShapePolygon3DObject(0, true, 
(sal_Int32)maLineColor.GetColor(), 0, 0);
+getRender()-AddPolygon3DObjectPoint(maPosBegin.x, maPosBegin.y, 
maPosBegin.z);
+getRender()-AddPolygon3DObjectPoint(maPosEnd.x, maPosEnd.y, maPosEnd.z);
+getRender()-EndAddShapePolygon3DObject();
+}
+
 Text::Text(sal_uInt32 nId):
 Renderable3DObject(nId)
 {
commit 461aa03c95e3297041de4eec8b3d44da348f60e8
Author: xukai xu...@multicorewareinc.com
Date:   Mon May 5 13:00:46 2014 +0800

remove the codes of set camera info to render()

Change-Id: I9c2aecd5dea617e7cd69c1fc005b6a9ee237f202

diff --git a/chart2/source/view/inc/3DChartObjects.hxx 
b/chart2/source/view/inc/3DChartObjects.hxx
index 1fa9402..54b6a24 100644
--- a/chart2/source/view/inc/3DChartObjects.hxx
+++ b/chart2/source/view/inc/3DChartObjects.hxx
@@ -87,6 +87,7 @@ class Camera : public Renderable3DObject
 {
 public:
 Camera();
+virtual void render();
 private:
 glm::vec3 maPos;
 glm::vec3 maUp;
diff --git a/chart2/source/view/main/3DChartObjects.cxx 
b/chart2/source/view/main/3DChartObjects.cxx
index 6148f03..38279a3 100644
--- a/chart2/source/view/main/3DChartObjects.cxx
+++ b/chart2/source/view/main/3DChartObjects.cxx
@@ -70,9 +70,14 @@ Camera::Camera():
 maUp(0, 1, 0),
 maDirection(glm::vec3(0,0,0)-maPos)
 {
+}
+
+void Camera::render()
+{
 getRender()-SetCameraInfo(maPos, maDirection, maUp, true);
 }
 
+
 namespace temporary {
 
 TemporaryContext::TemporaryContext():
commit 4e8a9d669f835cb2f1df3efc9b41d86d51af90d7
Author: xukai xu...@multicorewareinc.com
Date:   Mon May 5 12:25:42 2014 +0800

add codes to set camera info

Change-Id: Id6bac3a8dd46d7994c9e64c9e0c16e8c7ac036ac

diff --git a/chart2/source/view/inc/3DChartObjects.hxx 
b/chart2/source/view/inc/3DChartObjects.hxx
index e3165e2..1fa9402 100644
--- a/chart2/source/view/inc/3DChartObjects.hxx
+++ b/chart2/source/view/inc/3DChartObjects.hxx
@@ -89,6 +89,7 @@ public:
 Camera();
 private:
 glm::vec3 maPos;
+glm::vec3 maUp;
 glm::vec3 maDirection;
 };
 
diff --git a/chart2/source/view/inc/GL3DRenderer.hxx 
b/chart2/source/view/inc/GL3DRenderer.hxx
index b31a5ac..5f66203 100644
--- a/chart2/source/view/inc/GL3DRenderer.hxx
+++ b/chart2/source/view/inc/GL3DRenderer.hxx
@@ -109,6 +109,7 @@ typedef struct Extrude3DInfo
 
 typedef struct CameraInfo
 {
+bool useDefault;
 glm::vec3 cameraPos;
 glm::vec3 cameraOrg;
 glm::vec3 cameraUp;
@@ -179,7 +180,7 @@ public:
 void SetClickPos(Point aMPos);
 void RenderClickPos(Point aMPos);
 void SetSize(const Size rSize);
-
+void SetCameraInfo(glm::vec3 pos, glm::vec3 direction, glm::vec3 up, bool 
useDefalut);
 private:
 void MoveModelf(PosVecf3 trans,PosVecf3 angle,PosVecf3 scale);
 
diff --git a/chart2/source/view/main/3DChartObjects.cxx 
b/chart2/source/view/main/3DChartObjects.cxx
index f7e0eb7..6148f03 100644
--- a/chart2/source/view/main/3DChartObjects.cxx
+++ b/chart2/source/view/main/3DChartObjects.cxx
@@ -67,8 +67,10 @@ Rectangle::Rectangle(sal_uInt32 nId):
 Camera::Camera():
 Renderable3DObject(0),
 maPos(10,10,-10),
+maUp(0, 1, 0),
 maDirection(glm::vec3(0,0,0)-maPos)
 {
+getRender()-SetCameraInfo(maPos, maDirection, maUp, true);
 }
 
 namespace temporary {
diff --git a/chart2/source

[Libreoffice-commits] core.git: chart2/source

2014-05-01 Thread xukai
 chart2/source/view/inc/GL3DRenderer.hxx  |   58 -
 chart2/source/view/main/GL3DRenderer.cxx |  138 +++
 2 files changed, 127 insertions(+), 69 deletions(-)

New commits:
commit 489b472d26d8ae080f4ba2c02c473952a006f47c
Author: xukai xu...@multicorewareinc.com
Date:   Tue Apr 29 17:44:16 2014 +0800

Format GL3DRenderer code

Add function Dynamic calculation of view matrix

Change-Id: I927cf9a8124ddf81830d8fef4508dae8697d7fc6

diff --git a/chart2/source/view/inc/GL3DRenderer.hxx 
b/chart2/source/view/inc/GL3DRenderer.hxx
index 09c904b..cc86bee 100644
--- a/chart2/source/view/inc/GL3DRenderer.hxx
+++ b/chart2/source/view/inc/GL3DRenderer.hxx
@@ -141,6 +141,17 @@ struct PackedVertex{
 };
 };
 
+typedef struct SceneBox
+{
+float maxXCoord;
+float minXCoord;
+float maxYCoord;
+float minYCoord;
+float maxZCoord;
+float minZCoord;
+}SceneBox;
+
+
 class OpenGL3DRenderer : public IOpenGLInfoProvider
 {
 public:
@@ -167,34 +178,34 @@ public:
 double GetTime();
 void SetFPS(float fps);
 void SetClickPos(Point aMPos);
-int RenderClickPos(Point aMPos);
+void RenderClickPos(Point aMPos);
 
 private:
-int MoveModelf(PosVecf3 trans, PosVecf3 angle, PosVecf3 scale);
+void MoveModelf(PosVecf3 trans,PosVecf3 angle,PosVecf3 scale);
 
 void GetFreq();
-int RenderPolygon3DObject();
-int RenderLine3D(Polygon3DInfo polygon);
-int RenderPolygon3D(Polygon3DInfo polygon);
-int Init3DUniformBlock();
-int Update3DUniformBlock();
-int RenderExtrude3DObject();
-int RenderFPS(float fps);
-int RenderText(const ::rtl::OUString string, com::sun::star::awt::Point 
aPos);
-int RenderExtrudeSurface(const Extrude3DInfo extrude3D);
-int RenderExtrudeTopSurface(const Extrude3DInfo extrude3D);
-int RenderExtrudeMiddleSurface(const Extrude3DInfo extrude3D);
-int RenderExtrudeBottomSurface(const Extrude3DInfo extrude3D);
-int RenderExtrudeFlatSurface(const Extrude3DInfo extrude3D, int surIndex);
-int ProcessUnrenderedShape();
+void RenderPolygon3DObject();
+void RenderLine3D(Polygon3DInfo polygon);
+void RenderPolygon3D(Polygon3DInfo polygon);
+void Init3DUniformBlock();
+void Update3DUniformBlock();
+void RenderExtrude3DObject();
+void RenderFPS(float fps);
+void RenderText(const ::rtl::OUString string, com::sun::star::awt::Point 
aPos);
+void RenderExtrudeSurface(const Extrude3DInfo extrude3D);
+void RenderExtrudeTopSurface(const Extrude3DInfo extrude3D);
+void RenderExtrudeMiddleSurface(const Extrude3DInfo extrude3D);
+void RenderExtrudeBottomSurface(const Extrude3DInfo extrude3D);
+void RenderExtrudeFlatSurface(const Extrude3DInfo extrude3D, int 
surIndex);
+void ProcessUnrenderedShape();
 glm::vec4 GetColorByIndex(int index);
 sal_uInt32 GetIndexByColor(sal_uInt32 r, sal_uInt32 g, sal_uInt32 b);
-int ProcessPickingBox();
+void ProcessPickingBox();
 int ProcessExtrude3DPickingBox();
 void RenderCoordinateAxis();
-int AddVertexData(GLuint vertexBuf);
-int AddNormalData(GLuint normalBuf);
-int AddIndexData(GLuint indexBuf);
+void AddVertexData(GLuint vertexBuf);
+void AddNormalData(GLuint normalBuf);
+void AddIndexData(GLuint indexBuf);
 bool GetSimilarVertexIndex(PackedVertex  packed,
 std::mapPackedVertex,unsigned short  VertexToOutIndex,
 unsigned short  result
@@ -207,6 +218,7 @@ private:
 void CreateActualRoundedCube(float fRadius, int iSubDivY, int iSubDivZ, 
float width, float height, float depth);
 int GenerateRoundCornerBar(std::vectorglm::vec3 vertices, 
std::vectorglm::vec3 normals, float fRadius, int iSubDivY,
int iSubDivZ, float width, float height, float 
depth);
+void CreateSceneBoxView();
 private:
 // Projection matrix : default 45 degree Field of View, 4:3 ratio, display 
range : 0.1 unit - 100 units
 glm::mat4 m_Projection;
@@ -316,6 +328,12 @@ private:
 //TODO: moggi: kill the following parts
 // don't add anything below or I will remove it
 size_t m_iPointNum;
+
+SceneBox m_SenceBox;
+
+float m_fViewAngle;
+
+float m_fHeightWeight;
 };
 
 }
diff --git a/chart2/source/view/main/GL3DRenderer.cxx 
b/chart2/source/view/main/GL3DRenderer.cxx
index e89ff49..b977654 100644
--- a/chart2/source/view/main/GL3DRenderer.cxx
+++ b/chart2/source/view/main/GL3DRenderer.cxx
@@ -87,8 +87,15 @@ OpenGL3DRenderer::OpenGL3DRenderer():
 m_Extrude3DInfo.startIndex[i] = m_RoundBarMesh.iElementStartIndices[i];
 m_Extrude3DInfo.size[i] = m_RoundBarMesh.iElementSizes[i];
 }
-
+m_fViewAngle = 30.0f;
+m_SenceBox.maxXCoord = -1.0 * FLT_MAX;
+m_SenceBox.minXCoord = FLT_MAX;
+m_SenceBox.maxYCoord =  -1.0 * FLT_MAX;
+m_SenceBox.minYCoord = FLT_MAX;
+m_SenceBox.maxZCoord =  -1.0 * FLT_MAX;
+m_SenceBox.minZCoord = FLT_MAX

[Libreoffice-commits] core.git: Branch 'feature/calc-group-interpreter-4' - sc/source

2013-10-31 Thread Xukai Liu
 sc/source/core/opencl/formulagroupcl.cxx  |   21 
 sc/source/core/opencl/formulagroupcl_finacial.hxx |   31 
 sc/source/core/opencl/op_financial.cxx|9 +++
 sc/source/core/opencl/op_financial.hxx|1 
 sc/source/core/opencl/opbase.hxx  |6 ++
 sc/source/core/opencl/opinlinefun_finacial.cxx|   53 ++
 6 files changed, 89 insertions(+), 32 deletions(-)

New commits:
commit d3f16e81ffb66d89d3954fd624c1a2e764d62415
Author: Xukai Liu xu...@multicorewareinc.com
Date:   Thu Oct 31 20:20:37 2013 -0500

GPU Calc: refactor code generation for inlined library routines

Refactored two library functions: Round and approxEqual. Generate them
only when corresponding Calc spreadsheet functions are used.

Change-Id: Ibf532d551ba0d99a117cedd4a0f3397acb5e017d
Signed-off-by: I-Jui (Ray) Sung r...@multicorewareinc.com

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index d1ece4c..ed186b3 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -823,6 +823,13 @@ public:
 t = t + mvSubArguments[i]-DumpOpName();
 return t;
 }
+virtual void DumpInlineFun(std::setstd::string decls,
+std::setstd::string funs) const
+{
+mpCodeGen-BinInlineFun(decls,funs);
+for (unsigned i = 0; i  mvSubArguments.size(); i++)
+mvSubArguments[i]-DumpInlineFun(decls,funs);
+}
 private:
 SubArgumentsType mvSubArguments;
 boost::scoped_ptrSlidingFunctionBase mpCodeGen;
@@ -1181,6 +1188,18 @@ public:
 // preambles
 decl  publicFunc;
 decl  finacialFunc;
+DK-DumpInlineFun(inlineDecl,inlineFun);
+for(std::setstd::string::iterator set_iter=inlineDecl.begin();
+ set_iter!=inlineDecl.end();set_iter++)
+{
+decl*set_iter;
+}
+
+for(std::setstd::string::iterator set_iter=inlineFun.begin();
+ set_iter!=inlineFun.end();set_iter++)
+{
+decl*set_iter;
+}
 mSyms.DumpSlidingWindowFunctions(decl);
 mKernelSignature = DK-DumpOpName();
 decl  __kernel void DynamicKernel  mKernelSignature;
@@ -1256,6 +1275,8 @@ private:
 cl_program mpProgram;
 cl_kernel mpKernel;
 cl_mem mpResClmem; // Results
+std::setstd::string inlineDecl;
+std::setstd::string inlineFun;
 };
 
 DynamicKernel::~DynamicKernel()
diff --git a/sc/source/core/opencl/formulagroupcl_finacial.hxx 
b/sc/source/core/opencl/formulagroupcl_finacial.hxx
index a8db8e9..da09168 100644
--- a/sc/source/core/opencl/formulagroupcl_finacial.hxx
+++ b/sc/source/core/opencl/formulagroupcl_finacial.hxx
@@ -9,38 +9,7 @@
 
 #ifndef SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX
 #define SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX
-
 const char* finacialFunc =
-bool approxEqual(double a, double b)\n
-{\n
-\tif (a == b)\n
-\t\treturn true;\n
-\tdouble x = a - b;\n
-\treturn (x  0.0 ? -x : x)  ((a  0.0 ? -a : a) * (1.0 / (16777216.0 *
-16777216.0)));\n
-}\n
-double constant nKorrVal[] = {0, 9e-1, 9e-2, 9e-3, 9e-4, 9e-5, 9e-6, 9e-7, 
-9e-8,9e-9, 9e-10, 9e-11, 9e-12, 9e-13, 9e-14, 9e-15};\n
-constant double SCdEpsilon = 1.0E-7;\n
-double  Round(double fValue)\n
-{\n
-\tif (fValue == 0.0)\n
-\t\treturn fValue;\n
-\tdouble fFac = 0;\n
-\tint nExp;\n
-\tif (fValue  0.0)\n
-\t\tnExp = (floor(log10(fValue)));\n
-\telse\n
-\t\tnExp = 0;\n
-\tint nIndex = 15 - nExp;\n
-\tif (nIndex  15)\n
-\t\tnIndex = 15;\n
-\telse if (nIndex = 1)\n
-\t\tnIndex = 0;\n
-\tfValue = floor(fValue + 0.5 + nKorrVal[nIndex]);\n
-\treturn fValue;\n
-}\n
-void  RateIteration(){\n\tdouble tmp = Round(3.0);\n\treturn;\n}\n
 double GetRmz( double fZins, double fZzr, double fBw, double fZw, int nF )\n
 {\n
 \tdouble  fRmz;\n
diff --git a/sc/source/core/opencl/op_financial.cxx 
b/sc/source/core/opencl/op_financial.cxx
index 5ae04ff..da4845c 100644
--- a/sc/source/core/opencl/op_financial.cxx
+++ b/sc/source/core/opencl/op_financial.cxx
@@ -21,6 +21,8 @@
 using namespace formula;
 
 namespace sc { namespace opencl {
+// Definitions of inline functions
+#include opinlinefun_finacial.cxx
 
 void RRI::GenSlidingWindowFunction(
 std::stringstream ss, const std::string sSymName, SubArguments 
vSubArguments)
@@ -2513,6 +2515,13 @@ void OpTbillprice::GenSlidingWindowFunction(
 ss  return tmp;\n;
 ss  }\n;
 }
+ void RATE::BinInlineFun(std::setstd::string decls,
+std::setstd::string funs)
+{
+decls.insert(approxEqualDecl);decls.insert(nKorrValDecl);
+decls.insert(SCdEpsilonDecl);decls.insert(RoundDecl);
+funs.insert(approxEqual);funs.insert(Round);
+}
 
 void RATE::GenSlidingWindowFunction(
 std::stringstream ss

[Libreoffice-commits] core.git: sc/source

2013-10-31 Thread Xukai Liu
 sc/source/core/opencl/formulagroupcl.cxx  |   21 
 sc/source/core/opencl/formulagroupcl_finacial.hxx |   31 
 sc/source/core/opencl/op_financial.cxx|9 +++
 sc/source/core/opencl/op_financial.hxx|1 
 sc/source/core/opencl/opbase.hxx  |6 ++
 sc/source/core/opencl/opinlinefun_finacial.cxx|   53 ++
 6 files changed, 89 insertions(+), 32 deletions(-)

New commits:
commit 7abfae3622fc952ecac8ebacb1d70650ef773619
Author: Xukai Liu xu...@multicorewareinc.com
Date:   Thu Oct 31 20:20:37 2013 -0500

GPU Calc: refactor code generation for inlined library routines

Refactored two library functions: Round and approxEqual. Generate them
only when corresponding Calc spreadsheet functions are used.

Change-Id: Ibf532d551ba0d99a117cedd4a0f3397acb5e017d
Signed-off-by: I-Jui (Ray) Sung r...@multicorewareinc.com

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index c40c289..2dfc0cf 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -823,6 +823,13 @@ public:
 t = t + mvSubArguments[i]-DumpOpName();
 return t;
 }
+virtual void DumpInlineFun(std::setstd::string decls,
+std::setstd::string funs) const
+{
+mpCodeGen-BinInlineFun(decls,funs);
+for (unsigned i = 0; i  mvSubArguments.size(); i++)
+mvSubArguments[i]-DumpInlineFun(decls,funs);
+}
 private:
 SubArgumentsType mvSubArguments;
 boost::scoped_ptrSlidingFunctionBase mpCodeGen;
@@ -1181,6 +1188,18 @@ public:
 // preambles
 decl  publicFunc;
 decl  finacialFunc;
+DK-DumpInlineFun(inlineDecl,inlineFun);
+for(std::setstd::string::iterator set_iter=inlineDecl.begin();
+ set_iter!=inlineDecl.end();set_iter++)
+{
+decl*set_iter;
+}
+
+for(std::setstd::string::iterator set_iter=inlineFun.begin();
+ set_iter!=inlineFun.end();set_iter++)
+{
+decl*set_iter;
+}
 mSyms.DumpSlidingWindowFunctions(decl);
 mKernelSignature = DK-DumpOpName();
 decl  __kernel void DynamicKernel  mKernelSignature;
@@ -1255,6 +1274,8 @@ private:
 cl_program mpProgram;
 cl_kernel mpKernel;
 cl_mem mpResClmem; // Results
+std::setstd::string inlineDecl;
+std::setstd::string inlineFun;
 };
 
 DynamicKernel::~DynamicKernel()
diff --git a/sc/source/core/opencl/formulagroupcl_finacial.hxx 
b/sc/source/core/opencl/formulagroupcl_finacial.hxx
index a8db8e9..da09168 100644
--- a/sc/source/core/opencl/formulagroupcl_finacial.hxx
+++ b/sc/source/core/opencl/formulagroupcl_finacial.hxx
@@ -9,38 +9,7 @@
 
 #ifndef SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX
 #define SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX
-
 const char* finacialFunc =
-bool approxEqual(double a, double b)\n
-{\n
-\tif (a == b)\n
-\t\treturn true;\n
-\tdouble x = a - b;\n
-\treturn (x  0.0 ? -x : x)  ((a  0.0 ? -a : a) * (1.0 / (16777216.0 *
-16777216.0)));\n
-}\n
-double constant nKorrVal[] = {0, 9e-1, 9e-2, 9e-3, 9e-4, 9e-5, 9e-6, 9e-7, 
-9e-8,9e-9, 9e-10, 9e-11, 9e-12, 9e-13, 9e-14, 9e-15};\n
-constant double SCdEpsilon = 1.0E-7;\n
-double  Round(double fValue)\n
-{\n
-\tif (fValue == 0.0)\n
-\t\treturn fValue;\n
-\tdouble fFac = 0;\n
-\tint nExp;\n
-\tif (fValue  0.0)\n
-\t\tnExp = (floor(log10(fValue)));\n
-\telse\n
-\t\tnExp = 0;\n
-\tint nIndex = 15 - nExp;\n
-\tif (nIndex  15)\n
-\t\tnIndex = 15;\n
-\telse if (nIndex = 1)\n
-\t\tnIndex = 0;\n
-\tfValue = floor(fValue + 0.5 + nKorrVal[nIndex]);\n
-\treturn fValue;\n
-}\n
-void  RateIteration(){\n\tdouble tmp = Round(3.0);\n\treturn;\n}\n
 double GetRmz( double fZins, double fZzr, double fBw, double fZw, int nF )\n
 {\n
 \tdouble  fRmz;\n
diff --git a/sc/source/core/opencl/op_financial.cxx 
b/sc/source/core/opencl/op_financial.cxx
index 5ae04ff..da4845c 100644
--- a/sc/source/core/opencl/op_financial.cxx
+++ b/sc/source/core/opencl/op_financial.cxx
@@ -21,6 +21,8 @@
 using namespace formula;
 
 namespace sc { namespace opencl {
+// Definitions of inline functions
+#include opinlinefun_finacial.cxx
 
 void RRI::GenSlidingWindowFunction(
 std::stringstream ss, const std::string sSymName, SubArguments 
vSubArguments)
@@ -2513,6 +2515,13 @@ void OpTbillprice::GenSlidingWindowFunction(
 ss  return tmp;\n;
 ss  }\n;
 }
+ void RATE::BinInlineFun(std::setstd::string decls,
+std::setstd::string funs)
+{
+decls.insert(approxEqualDecl);decls.insert(nKorrValDecl);
+decls.insert(SCdEpsilonDecl);decls.insert(RoundDecl);
+funs.insert(approxEqual);funs.insert(Round);
+}
 
 void RATE::GenSlidingWindowFunction(
 std::stringstream ss