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 = ...@@ -2065,6 +2065,8 @@ CTable.prototype =
} }
} }
Pos.X += this.Get_TableOffsetCorrection();
Y += MaxTopBorder; Y += MaxTopBorder;
// Учтем верхнее поле ячейки // Учтем верхнее поле ячейки
......
...@@ -68,6 +68,11 @@ function CTableCell(Row, ColW) ...@@ -68,6 +68,11 @@ function CTableCell(Row, ColW)
X_end : 0, X_end : 0,
Y_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 (массив по страницам) Y_VAlign_offset : [] // Сдвиг, который нужно сделать из-за VAlign (массив по страницам)
}; };
...@@ -660,8 +665,8 @@ CTableCell.prototype = ...@@ -660,8 +665,8 @@ CTableCell.prototype =
{ {
bNeedRestore = true; bNeedRestore = true;
pGraphics.SaveGrState(); 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.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); this.Content.Draw(PageIndex, pGraphics);
......
...@@ -1886,6 +1886,12 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -1886,6 +1886,12 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
Cell.Temp.X_end = X_content_end; Cell.Temp.X_end = X_content_end;
Cell.Temp.Y_end = Y_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 от несуществующих страниц. // Recalculate_Page от несуществующих страниц.
...@@ -2509,11 +2515,15 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -2509,11 +2515,15 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
Cell.PagesCount = 1; Cell.PagesCount = 1;
Cell.Content.Set_StartPage(CurPage); Cell.Content.Set_StartPage(CurPage);
Cell.Content.Reset(0, 0, Y_content_end - Y_content_start, 10000); 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.X_start = X_content_start;
Cell.Temp.Y_start = Y_content_start; Cell.Temp.Y_start = Y_content_start;
Cell.Temp.X_end = X_content_end; Cell.Temp.X_end = X_content_end;
Cell.Temp.Y_end = Y_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