113 lines
3.4 KiB
JavaScript
113 lines
3.4 KiB
JavaScript
"use strict";
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------
|
|
|
|
function CAscTableStyle()
|
|
{
|
|
this.Id = "";
|
|
this.Type = 0;
|
|
this.Image = "";
|
|
}
|
|
CAscTableStyle.prototype.get_Id = function(){ return this.Id; };
|
|
CAscTableStyle.prototype.get_Image = function(){ return this.Image; };
|
|
CAscTableStyle.prototype.get_Type = function(){ return this.Type; };
|
|
|
|
|
|
// ---------------------------------------------------------------
|
|
function GenerateTableStyles(drawingDoc, logicDoc, tableLook)
|
|
{
|
|
var _dst_styles = [];
|
|
|
|
var _styles = logicDoc.Styles.Get_AllTableStyles();
|
|
var _styles_len = _styles.length;
|
|
|
|
if (_styles_len == 0)
|
|
return _dst_styles;
|
|
|
|
var _x_mar = 10;
|
|
var _y_mar = 10;
|
|
var _r_mar = 10;
|
|
var _b_mar = 10;
|
|
var _pageW = 297;
|
|
var _pageH = 210;
|
|
|
|
var W = (_pageW - _x_mar - _r_mar);
|
|
var H = (_pageH - _y_mar - _b_mar);
|
|
var Grid = [];
|
|
|
|
var Rows = 5;
|
|
var Cols = 5;
|
|
|
|
for (var i = 0; i < Cols; i++)
|
|
Grid[i] = W / Cols;
|
|
|
|
var _canvas = document.createElement('canvas');
|
|
if (!this.m_oWordControl.bIsRetinaSupport)
|
|
{
|
|
_canvas.width = TABLE_STYLE_WIDTH_PIX;
|
|
_canvas.height = TABLE_STYLE_HEIGHT_PIX;
|
|
}
|
|
else
|
|
{
|
|
_canvas.width = (TABLE_STYLE_WIDTH_PIX << 1);
|
|
_canvas.height = (TABLE_STYLE_HEIGHT_PIX << 1);
|
|
}
|
|
var ctx = _canvas.getContext('2d');
|
|
|
|
History.TurnOff();
|
|
for (var i1 = 0; i1 < _styles_len; i1++)
|
|
{
|
|
var i = _styles[i1];
|
|
var _style = logicDoc.Styles.Style[i];
|
|
|
|
if (!_style || _style.Type != styletype_Table)
|
|
continue;
|
|
|
|
var table = new CTable(drawingDoc, logicDoc, true, 0, _x_mar, _y_mar, 1000, 1000, Rows, Cols, Grid);
|
|
table.Set_Props({TableStyle : i});
|
|
|
|
for (var j = 0; j < Rows; j++)
|
|
table.Content[j].Set_Height(H / Rows, heightrule_AtLeast);
|
|
|
|
ctx.fillStyle = "#FFFFFF";
|
|
ctx.fillRect(0, 0, _canvas.width, _canvas.height);
|
|
|
|
var graphics = new CGraphics();
|
|
graphics.init(ctx, _canvas.width, _canvas.height, _pageW, _pageH);
|
|
graphics.m_oFontManager = g_fontManager;
|
|
graphics.transform(1,0,0,1,0,0);
|
|
|
|
table.Recalculate_Page(0);
|
|
table.Draw(0, graphics);
|
|
|
|
var _styleD = new CAscTableStyle();
|
|
_styleD.Type = 0;
|
|
_styleD.Image = _canvas.toDataURL("image/png");
|
|
_styleD.Id = i;
|
|
_dst_styles.push(_styleD);
|
|
}
|
|
History.TurnOn();
|
|
|
|
return _dst_styles;
|
|
}
|
|
|
|
// Создаем глобальные дефолтовые стили, чтобы быстро можно было отдать дефолтовые настройки
|
|
var g_oDocumentDefaultTextPr = new CTextPr();
|
|
var g_oDocumentDefaultParaPr = new CParaPr();
|
|
var g_oDocumentDefaultTablePr = new CTablePr();
|
|
var g_oDocumentDefaultTableCellPr = new CTableCellPr();
|
|
var g_oDocumentDefaultTableRowPr = new CTableRowPr();
|
|
var g_oDocumentDefaultTableStylePr = new CTableStylePr();
|
|
g_oDocumentDefaultTextPr.Init_Default();
|
|
g_oDocumentDefaultParaPr.Init_Default();
|
|
g_oDocumentDefaultTablePr.Init_Default();
|
|
g_oDocumentDefaultTableCellPr.Init_Default();
|
|
g_oDocumentDefaultTableRowPr.Init_Default();
|
|
g_oDocumentDefaultTableStylePr.Init_Default();
|