Commit 5c5d12f4 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@68479 954022d7-b5bf-4e40-9824-e11837661b57
parent e07e8b9d
......@@ -2065,6 +2065,8 @@ CTable.prototype =
}
}
Pos.X += this.Get_TableOffsetCorrection();
Y += MaxTopBorder;
// Учтем верхнее поле ячейки
......
......@@ -68,6 +68,11 @@ function CTableCell(Row, ColW)
X_end : 0,
Y_end : 0,
X_cell_start : 0,
X_cell_end : 0,
Y_cell_start : 0,
Y_cell_end : 0,
Y_VAlign_offset : [] // Сдвиг, который нужно сделать из-за VAlign (массив по страницам)
};
......@@ -660,8 +665,8 @@ CTableCell.prototype =
{
bNeedRestore = true;
pGraphics.SaveGrState();
pGraphics.AddClipRect(this.Temp.X_cell_start, this.Temp.Y_cell_start, this.Temp.X_cell_end - this.Temp.X_cell_start, this.Temp.Y_cell_end - this.Temp.Y_cell_start);
pGraphics.transform3(this.Get_ParentTextTransform());
pGraphics.AddClipRect(0, 0, this.Temp.Y_end - this.Temp.Y_start, this.Temp.X_end - this.Temp.X_start);
}
this.Content.Draw(PageIndex, pGraphics);
......
......@@ -1886,6 +1886,12 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
Cell.Temp.X_end = X_content_end;
Cell.Temp.Y_end = Y_content_end;
Cell.Temp.X_cell_start = Page.X + CellMetrics.X_cell_start;
Cell.Temp.X_cell_end = Page.X + CellMetrics.X_cell_end;
Cell.Temp.Y_cell_start = Y_content_start - CellMar.Top.W;
Cell.Temp.Y_cell_end = Y_content_end + BottomMargin;
// Какие-то ячейки в строке могут быть не разбиты на строки, а какие то разбиты.
// Здесь контролируем этот момент, чтобы у тех, которые не разбиты не вызывать
// Recalculate_Page от несуществующих страниц.
......@@ -2509,11 +2515,15 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
Cell.PagesCount = 1;
Cell.Content.Set_StartPage(CurPage);
Cell.Content.Reset(0, 0, Y_content_end - Y_content_start, 10000);
Cell.Content.Set_ClipInfo(CellPageIndex, 0, Y_content_end - Y_content_start);
Cell.Temp.X_start = X_content_start;
Cell.Temp.Y_start = Y_content_start;
Cell.Temp.X_end = X_content_end;
Cell.Temp.Y_end = Y_content_end;
Cell.Temp.X_cell_start = Page.X + CellMetrics.X_cell_start;
Cell.Temp.X_cell_end = Page.X + CellMetrics.X_cell_end;
Cell.Temp.Y_cell_start = Y_content_start - CellMar.Top.W;
Cell.Temp.Y_cell_end = Y_content_end + BottomMargin;
}
// Какие-то ячейки в строке могут быть не разбиты на строки, а какие то разбиты.
......
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