Commit a67d226b authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@53403 954022d7-b5bf-4e40-9824-e11837661b57
parent e2ca769f
......@@ -4,6 +4,10 @@
* Time: 18:28
*/
var RunRangesCount = 0;
var RunRangesElementsCount = 0;
var ParaRangesCount = 0;
function ParaRun(Document)
{
this.Id = g_oIdCounter.Get_NewId(); // Id данного элемента
......@@ -124,15 +128,20 @@ ParaRun.prototype =
else
this.TextRun = false;
this.TextRun = false;
this.RecalcInfo.Recalc = true;
this.RecalcInfo.Measure = false;
},
Recalculate_Range : function(PRS, ParaPr)
Recalculate_Range : function( ParaPr)
{
RunRangesCount++;
// Сначала измеряем элементы (можно вызывать каждый раз, внутри разруливается, чтобы измерялось 1 раз)
this.Recalculate_MeasureContent();
var PRS = g_oPRSW;
var CurLine = PRS.Line - this.StartLine;
if ( undefined === this.Lines[CurLine] )
{
......@@ -245,8 +254,11 @@ ParaRun.prototype =
var LineRule = ParaPr.Spacing.LineRule;
var Pos = RangeStartPos;
while ( Pos < ContentLen )
var UpdateLineMetricsText = false;
for ( ; Pos < ContentLen; Pos++ )
{
RunRangesElementsCount++;
if ( false === StartWord && true === FirstItemOnLine && Math.abs( XEnd - X ) < 0.001 && RangesCount > 0 )
{
NewRange = true;
......@@ -269,8 +281,7 @@ ParaRun.prototype =
// Отмечаем, что началось слово
StartWord = true;
// Пересчитаем метрику строки относительно размера данного текста
this.Internal_Recalculate_LineMetrics( PRS, LineRule );
UpdateLineMetricsText = true;
// При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов.
var LetterLen = Item.Width;
......@@ -711,8 +722,12 @@ ParaRun.prototype =
if ( true === NewRange )
break;
}
Pos++;
if ( true === UpdateLineMetricsText )
{
// Пересчитаем метрику строки относительно размера данного текста
this.Internal_Recalculate_LineMetrics( PRS, LineRule );
}
PRS.MoveToLBP = MoveToLBP;
......
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