Commit 6557b7a3 authored by Anna.Pavlova's avatar Anna.Pavlova Committed by Alexander.Trofimov

1. Поправлен баг : неправильно вычислялось смещение для первой строки (Get_AlignToLine)

2. Реализовала разбивку на строки степеней с одним итератором (sSub и sSup)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@62053 954022d7-b5bf-4e40-9824-e11837661b57
parent a293eda5
......@@ -456,16 +456,14 @@ ParaMath.prototype.Get_AlignToLine = function(_CurLine, _CurRange, Page, _X, _XL
if(LineCount > 0)
WidthFirstLine = this.Root.GetWidth(_CurLine);
/*if(this.Bounds.length > 0)
WidthFirstLine = this.Bounds[0].W;*/
var FirstWidth = CurrentPage == 0 ? WidthFirstLine : 0; // если страница не первая, то ширину первой строки формулы не учитываем
var W = 0;
var MaxW = this.CurPageInfo.MaxLineW;
if(LineCount == 1) // чтобы не сравнивать с wrapIndent, когда формула занимает одну строку
var bSingleLine = LineCount == 1 && this.Root.Math_Is_End(_CurLine, _CurRange);
if(bSingleLine) // чтобы не сравнивать с wrapIndent, когда формула занимает одну строку
W = FirstWidth;
else if(CurrentPage == 0)
W = Math.max(MaxW + wrapIndent, FirstWidth);
......@@ -647,23 +645,6 @@ ParaMath.prototype.GetSelectContent = function()
return this.Root.GetSelectContent();
};
ParaMath.prototype.old_Get_CurrentParaPos = function()
{
var nLinesCount = this.protected_GetLinesCount();
for (var nLineIndex = 0; nLineIndex < nLinesCount; nLineIndex++)
{
var nRangesCount = this.protected_GetRangesCount(nLineIndex);
for (var nRangeIndex = 0; nRangeIndex < nRangesCount; nRangeIndex++)
{
var nEndPos = this.protected_GetRangeEndPos(nLineIndex, nRangeIndex);
if (nEndPos > 0)
return new CParaPos(0 === nLineIndex ? this.StartRange + nRangeIndex : nRangeIndex, this.StartLine + nLineIndex, 0, 0);
}
}
return new CParaPos(this.StartRange, this.StartLine, 0, 0);
};
ParaMath.prototype.Get_CurrentParaPos = function()
{
return this.Root.Get_CurrentParaPos();
......@@ -1031,24 +1012,6 @@ ParaMath.prototype.Get_ParaPosByContentPos = function(ContentPos, Depth)
{
return this.Root.Get_ParaPosByContentPos(ContentPos, Depth);
};
ParaMath.prototype.old_Recalculate_CurPos = function(_X, Y, CurrentRun, _CurRange, _CurLine, _CurPage, UpdateCurPos, UpdateTarget, ReturnTarget)
{
var CurLine = _CurLine - this.StartLine;
var CurRange = ( 0 === CurLine ? _CurRange - this.StartRange : _CurRange );
var StartPos = this.protected_GetRangeStartPos(CurLine, CurRange);
var EndPos = this.protected_GetRangeEndPos(CurLine, CurRange);
var result = {X: _X + this.Root.size.width};
if ( EndPos >= 1 && CurrentRun == true)
{
result = this.Root.Recalculate_CurPos(_X, Y, CurrentRun, _CurRange, _CurLine, _CurPage, UpdateCurPos, UpdateTarget, ReturnTarget);
}
return result;
};
ParaMath.prototype.Recalculate_CurPos = function(_X, Y, CurrentRun, _CurRange, _CurLine, _CurPage, UpdateCurPos, UpdateTarget, ReturnTarget)
{
......
......@@ -2221,9 +2221,6 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
PRS.Set_LineBreakPos(Pos);
SpaceLen += BrkLen;
}
}
else
{
......
This diff is collapsed.
......@@ -1070,42 +1070,6 @@ CMathContent.prototype.GetArgSize = function()
{
return this.ArgSize.value;
};
CMathContent.prototype.Get_Bounds_2 = function()
{
var LinesCount = this.protected_GetLinesCount();
var Bounds = [];
/*var Bounds =
{
X: 0,
Y: 0,
W: 0,
H: 0
};*/
if(this.bOneLine)
{
var bound = new CMathBound();
bound.X = this.pos.x;
bound.Y = this.pos.y - this.size.ascent;
bound.W = this.size.width;
bound.H = this.size.height;
Bounds.push(bound);
}
else
{
for(var Pos = 0; Pos < LinesCount; Pos++)
{
var LinePos = this.ParaMath.GetLinePosition();
}
}
};
///////// Перемещение ////////////
// Поиск позиции, селект
......
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