Commit 4bf07dd9 authored by Sergey Luzyanin's avatar Sergey Luzyanin

fix Bug 32148 - Не отображается область 3D диаграммы типа Line, созданной в Libre Office

parent cc884ada
......@@ -2616,7 +2616,7 @@ function drawBarChart()
this.chartProp = null;
this.cChartDrawer = null;
this.cShapeDrawer = null;
this.paths = {};
this.paths = {};
this.sortZIndexPaths = [];
this.summBarVal = [];
}
......@@ -2818,8 +2818,8 @@ drawBarChart.prototype =
if(seria.length)
seriesCounter++;
}
}
if(this.cChartDrawer.nDimensionCount === 3)
{
this.sortZIndexPaths.sort (function sortArr(a, b)
......@@ -3202,7 +3202,7 @@ drawBarChart.prototype =
var isNotDrawDownVerge;
/*if((this.chartProp.subType == "stacked" || this.chartProp.subType == "stackedPer") && val < 0 && (isValMoreZero || (!isValMoreZero && isValLessZero !== 1)))
isNotDrawDownVerge = true;*/
var paths = this.cChartDrawer.calculateRect3D(point1, point2, point3, point4, point5, point6, point7, point8, val, isNotDrawDownVerge);
height = this.chartProp.heightCanvas - this.chartProp.chartGutter._top - this.chartProp.chartGutter._bottom;
......@@ -3638,80 +3638,80 @@ drawLineChart.prototype =
_drawLines3D: function()
{
var t = this;
var drawVerges = function(j, i, onlyLessNull)
{
var brush, pen, seria;
seria = t.chartProp.series[j];
brush = seria.brush;
pen = seria.pen;
if(!(!t.paths.series[j] || !t.paths.series[j][i] || !seria.val.numRef.numCache.pts[i]))
{
if(seria.val.numRef.numCache.pts[i].pen)
pen = seria.val.numRef.numCache.pts[i].pen;
if(seria.val.numRef.numCache.pts[i].brush)
brush = seria.val.numRef.numCache.pts[i].brush;
for(var k = 0; k < t.paths.series[j][i].length; k++)
{
t._drawLine3D(t.paths.series[j][i][k], pen, brush, k);
}
}
};
//рисуем по сериям
var onSeries = function(onlyLessNull)
{
var drawNeedVerge = function()
{
for (var j = 0; j < t.paths.series.length; j++)
{
for (var i = 0; i < t.chartProp.ptCount; i++)
{
drawVerges(j, i, onlyLessNull);
}
}
};
drawNeedVerge();
};
var reverseSeriesOnSeries = function(onlyLessNull)
{
var drawNeedVerge = function()
{
for (var j = t.paths.series.length - 1; j >= 0; j--)
{
if(!t.paths.series)
return;
for (var i = 0; i < t.chartProp.ptCount; i++)
{
drawVerges(j, i, onlyLessNull);
}
}
};
drawNeedVerge();
};
if(!this.cChartDrawer.processor3D.view3D.rAngAx)
{
var angle = Math.abs(this.cChartDrawer.processor3D.angleOy);
if(angle > Math.PI / 2 && angle < 3 * Math.PI / 2)
onSeries();
else
reverseSeriesOnSeries();
}
else
{
reverseSeriesOnSeries();
var t = this;
var drawVerges = function(j, i, onlyLessNull)
{
var brush, pen, seria;
seria = t.chartProp.series[j];
brush = seria.brush;
pen = seria.pen;
if(!(!t.paths.series[j] || !t.paths.series[j][i] || !seria.val.numRef.numCache.pts[i]))
{
if(seria.val.numRef.numCache.pts[i].pen)
pen = seria.val.numRef.numCache.pts[i].pen;
if(seria.val.numRef.numCache.pts[i].brush)
brush = seria.val.numRef.numCache.pts[i].brush;
for(var k = 0; k < t.paths.series[j][i].length; k++)
{
t._drawLine3D(t.paths.series[j][i][k], pen, brush, k);
}
}
};
//рисуем по сериям
var onSeries = function(onlyLessNull)
{
var drawNeedVerge = function()
{
for (var j = 0; j < t.paths.series.length; j++)
{
for (var i = 0; i < t.chartProp.ptCount; i++)
{
drawVerges(j, i, onlyLessNull);
}
}
};
drawNeedVerge();
};
var reverseSeriesOnSeries = function(onlyLessNull)
{
var drawNeedVerge = function()
{
for (var j = t.paths.series.length - 1; j >= 0; j--)
{
if(!t.paths.series)
return;
for (var i = 0; i < t.chartProp.ptCount; i++)
{
drawVerges(j, i, onlyLessNull);
}
}
};
drawNeedVerge();
};
if(!this.cChartDrawer.processor3D.view3D.rAngAx)
{
var angle = Math.abs(this.cChartDrawer.processor3D.angleOy);
if(angle > Math.PI / 2 && angle < 3 * Math.PI / 2)
onSeries();
else
reverseSeriesOnSeries();
}
else
{
reverseSeriesOnSeries();
}
},
......@@ -3721,7 +3721,7 @@ drawLineChart.prototype =
//в excel всегда темные боковые стороны, лицевая и задняя стороны светлые
//todo возможно стоит проверить fill.type на FILL_TYPE_NOFILL и рисовать отдельно границы, если они заданы!
brush = pen.Fill;
//brush = pen.Fill;
if(brush.fill.color === undefined)
return;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment