|
|
/*
|
|
|
* (c) Copyright Ascensio System SIA 2010-2017
|
|
|
*
|
|
|
* This program is a free software product. You can redistribute it and/or
|
|
|
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
|
|
* version 3 as published by the Free Software Foundation. In accordance with
|
|
|
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
|
|
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
|
|
* of any third-party rights.
|
|
|
*
|
|
|
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
|
|
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
|
*
|
|
|
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
|
|
* EU, LV-1021.
|
|
|
*
|
|
|
* The interactive user interfaces in modified source and object code versions
|
|
|
* of the Program must display Appropriate Legal Notices, as required under
|
|
|
* Section 5 of the GNU AGPL version 3.
|
|
|
*
|
|
|
* Pursuant to Section 7(b) of the License you must retain the original Product
|
|
|
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
|
|
* grant you any rights under trademark law for use of our trademarks.
|
|
|
*
|
|
|
* All the Product's GUI elements, including illustrations and icon sets, as
|
|
|
* well as technical writing content are licensed under the terms of the
|
|
|
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
|
|
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
var editor = undefined;
|
|
|
var window = {};
|
|
|
var navigator = {};
|
|
|
navigator.userAgent = "chrome";
|
|
|
window.navigator = navigator;
|
|
|
window.location = {};
|
|
|
|
|
|
window.location.protocol = "";
|
|
|
window.location.host = "";
|
|
|
window.location.href = "";
|
|
|
window.location.pathname = "";
|
|
|
|
|
|
window.NATIVE_EDITOR_ENJINE = true;
|
|
|
window.NATIVE_EDITOR_ENJINE_SYNC_RECALC = true;
|
|
|
|
|
|
var document = {};
|
|
|
window.document = document;
|
|
|
|
|
|
window["Asc"] = {};
|
|
|
var Asc = window["Asc"];
|
|
|
|
|
|
window["AscFonts"] = {};
|
|
|
var AscFonts = window["AscFonts"];
|
|
|
|
|
|
window["AscCommon"] = {};
|
|
|
var AscCommon = window["AscCommon"];
|
|
|
|
|
|
window["AscFormat"] = {};
|
|
|
var AscFormat = window["AscFormat"];
|
|
|
|
|
|
window["AscDFH"] = {};
|
|
|
var AscDFH = window["AscDFH"];
|
|
|
|
|
|
window["AscCH"] = {};
|
|
|
var AscCH = window["AscCH"];
|
|
|
|
|
|
window["AscCommonExcel"] = {};
|
|
|
var AscCommonExcel = window["AscCommonExcel"];
|
|
|
|
|
|
window["AscCommonWord"] = {};
|
|
|
var AscCommonWord = window["AscCommonWord"];
|
|
|
|
|
|
window["AscCommonSlide"] = {};
|
|
|
var AscCommonSlide = window["AscCommonSlide"];
|
|
|
|
|
|
function ConvertJSC_Array(_array)
|
|
|
{
|
|
|
var _len = _array.length;
|
|
|
var ret = new Uint8Array(_len);
|
|
|
for (var i = 0; i < _len; i++)
|
|
|
ret[i] = _array.getAt(i);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
function Image()
|
|
|
{
|
|
|
this.src = "";
|
|
|
this.onload = function ()
|
|
|
{
|
|
|
};
|
|
|
this.onerror = function ()
|
|
|
{
|
|
|
};
|
|
|
}
|
|
|
|
|
|
function _image_data()
|
|
|
{
|
|
|
this.data = null;
|
|
|
this.length = 0;
|
|
|
}
|
|
|
|
|
|
function native_pattern_fill()
|
|
|
{
|
|
|
}
|
|
|
native_pattern_fill.prototype =
|
|
|
{
|
|
|
setTransform: function (transform)
|
|
|
{
|
|
|
}
|
|
|
};
|
|
|
|
|
|
function native_gradient_fill()
|
|
|
{
|
|
|
}
|
|
|
native_gradient_fill.prototype =
|
|
|
{
|
|
|
addColorStop: function (offset, color)
|
|
|
{
|
|
|
}
|
|
|
};
|
|
|
|
|
|
function native_context2d(parent)
|
|
|
{
|
|
|
this.canvas = parent;
|
|
|
|
|
|
this.globalAlpha = 0;
|
|
|
this.globalCompositeOperation = "";
|
|
|
this.fillStyle = "";
|
|
|
this.strokeStyle = "";
|
|
|
|
|
|
this.lineWidth = 0;
|
|
|
this.lineCap = 0;
|
|
|
this.lineJoin = 0;
|
|
|
this.miterLimit = 0;
|
|
|
this.shadowOffsetX = 0;
|
|
|
this.shadowOffsetY = 0;
|
|
|
this.shadowBlur = 0;
|
|
|
this.shadowColor = 0;
|
|
|
this.font = "";
|
|
|
this.textAlign = 0;
|
|
|
this.textBaseline = 0;
|
|
|
}
|
|
|
native_context2d.prototype =
|
|
|
{
|
|
|
save: function ()
|
|
|
{
|
|
|
},
|
|
|
restore: function ()
|
|
|
{
|
|
|
},
|
|
|
|
|
|
scale: function (x, y)
|
|
|
{
|
|
|
},
|
|
|
rotate: function (angle)
|
|
|
{
|
|
|
},
|
|
|
translate: function (x, y)
|
|
|
{
|
|
|
},
|
|
|
transform: function (m11, m12, m21, m22, dx, dy)
|
|
|
{
|
|
|
},
|
|
|
setTransform: function (m11, m12, m21, m22, dx, dy)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
createLinearGradient: function (x0, y0, x1, y1)
|
|
|
{
|
|
|
return new native_gradient_fill();
|
|
|
},
|
|
|
createRadialGradient: function (x0, y0, r0, x1, y1, r1)
|
|
|
{
|
|
|
return null;
|
|
|
},
|
|
|
createPattern: function (image, repetition)
|
|
|
{
|
|
|
return new native_pattern_fill();
|
|
|
},
|
|
|
|
|
|
clearRect: function (x, y, w, h)
|
|
|
{
|
|
|
},
|
|
|
fillRect: function (x, y, w, h)
|
|
|
{
|
|
|
},
|
|
|
strokeRect: function (x, y, w, h)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
beginPath: function ()
|
|
|
{
|
|
|
},
|
|
|
closePath: function ()
|
|
|
{
|
|
|
},
|
|
|
moveTo: function (x, y)
|
|
|
{
|
|
|
},
|
|
|
lineTo: function (x, y)
|
|
|
{
|
|
|
},
|
|
|
quadraticCurveTo: function (cpx, cpy, x, y)
|
|
|
{
|
|
|
},
|
|
|
bezierCurveTo: function (cp1x, cp1y, cp2x, cp2y, x, y)
|
|
|
{
|
|
|
},
|
|
|
arcTo: function (x1, y1, x2, y2, radius)
|
|
|
{
|
|
|
},
|
|
|
rect: function (x, y, w, h)
|
|
|
{
|
|
|
},
|
|
|
arc: function (x, y, radius, startAngle, endAngle, anticlockwise)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
fill: function ()
|
|
|
{
|
|
|
},
|
|
|
stroke: function ()
|
|
|
{
|
|
|
},
|
|
|
clip: function ()
|
|
|
{
|
|
|
},
|
|
|
isPointInPath: function (x, y)
|
|
|
{
|
|
|
},
|
|
|
drawFocusRing: function (element, xCaret, yCaret, canDrawCustom)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
fillText: function (text, x, y, maxWidth)
|
|
|
{
|
|
|
},
|
|
|
strokeText: function (text, x, y, maxWidth)
|
|
|
{
|
|
|
},
|
|
|
measureText: function (text)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
drawImage: function (img_elem, dx_or_sx, dy_or_sy, dw_or_sw, dh_or_sh, dx, dy, dw, dh)
|
|
|
{
|
|
|
},
|
|
|
|
|
|
createImageData: function (imagedata_or_sw, sh)
|
|
|
{
|
|
|
var _data = new _image_data();
|
|
|
_data.length = imagedata_or_sw * sh * 4;
|
|
|
_data.data = (typeof(Uint8Array) != 'undefined') ? new Uint8Array(_data.length) : new Array(_data.length);
|
|
|
return _data;
|
|
|
},
|
|
|
getImageData: function (sx, sy, sw, sh)
|
|
|
{
|
|
|
},
|
|
|
putImageData: function (image_data, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight)
|
|
|
{
|
|
|
}
|
|
|
};
|
|
|
|
|
|
function native_canvas()
|
|
|
{
|
|
|
this.id = "";
|
|
|
this.width = 300;
|
|
|
this.height = 150;
|
|
|
|
|
|
this.nodeType = 1;
|
|
|
}
|
|
|
native_canvas.prototype =
|
|
|
{
|
|
|
getContext: function (type)
|
|
|
{
|
|
|
if (type == "2d")
|
|
|
return new native_context2d(this);
|
|
|
return null;
|
|
|
},
|
|
|
|
|
|
toDataUrl: function (type)
|
|
|
{
|
|
|
return "";
|
|
|
},
|
|
|
|
|
|
addEventListener: function ()
|
|
|
{
|
|
|
},
|
|
|
|
|
|
attr: function ()
|
|
|
{
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var _null_object = {};
|
|
|
_null_object.length = 0;
|
|
|
_null_object.nodeType = 1;
|
|
|
_null_object.offsetWidth = 1;
|
|
|
_null_object.offsetHeight = 1;
|
|
|
_null_object.clientWidth = 1;
|
|
|
_null_object.clientHeight = 1;
|
|
|
_null_object.scrollWidth = 1;
|
|
|
_null_object.scrollHeight = 1;
|
|
|
_null_object.style = {};
|
|
|
_null_object.documentElement = _null_object;
|
|
|
_null_object.body = _null_object;
|
|
|
_null_object.ownerDocument = _null_object;
|
|
|
_null_object.defaultView = _null_object;
|
|
|
|
|
|
_null_object.addEventListener = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.setAttribute = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.getElementsByTagName = function ()
|
|
|
{
|
|
|
return [];
|
|
|
};
|
|
|
_null_object.appendChild = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.removeChild = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.insertBefore = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.childNodes = [];
|
|
|
_null_object.parent = _null_object;
|
|
|
_null_object.parentNode = _null_object;
|
|
|
_null_object.find = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.appendTo = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.css = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.width = function ()
|
|
|
{
|
|
|
return 0;
|
|
|
};
|
|
|
_null_object.height = function ()
|
|
|
{
|
|
|
return 0;
|
|
|
};
|
|
|
_null_object.attr = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.prop = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.val = function ()
|
|
|
{
|
|
|
return this;
|
|
|
};
|
|
|
_null_object.remove = function ()
|
|
|
{
|
|
|
};
|
|
|
_null_object.getComputedStyle = function ()
|
|
|
{
|
|
|
return null;
|
|
|
};
|
|
|
_null_object.getContext = function (type)
|
|
|
{
|
|
|
if (type == "2d")
|
|
|
return new native_context2d(this);
|
|
|
return null;
|
|
|
};
|
|
|
|
|
|
window._null_object = _null_object;
|
|
|
|
|
|
document.createElement = function (type)
|
|
|
{
|
|
|
if (type && type.toLowerCase)
|
|
|
{
|
|
|
if (type.toLowerCase() == "canvas")
|
|
|
return new native_canvas();
|
|
|
}
|
|
|
|
|
|
return _null_object;
|
|
|
};
|
|
|
|
|
|
function _return_empty_html_element()
|
|
|
{
|
|
|
return _null_object;
|
|
|
};
|
|
|
|
|
|
document.createDocumentFragment = _return_empty_html_element;
|
|
|
document.getElementsByTagName = function (tag)
|
|
|
{
|
|
|
var ret = [];
|
|
|
if ("head" == tag)
|
|
|
ret.push(_null_object);
|
|
|
return ret;
|
|
|
};
|
|
|
document.insertBefore = function ()
|
|
|
{
|
|
|
};
|
|
|
document.appendChild = function ()
|
|
|
{
|
|
|
};
|
|
|
document.removeChild = function ()
|
|
|
{
|
|
|
};
|
|
|
document.getElementById = function ()
|
|
|
{
|
|
|
return _null_object;
|
|
|
};
|
|
|
document.createComment = function ()
|
|
|
{
|
|
|
return undefined;
|
|
|
};
|
|
|
|
|
|
document.documentElement = _null_object;
|
|
|
document.body = _null_object;
|
|
|
|
|
|
var native = (typeof native === undefined) ? undefined : native;
|
|
|
if (!native)
|
|
|
{
|
|
|
if (typeof NativeEngine === "undefined")
|
|
|
{
|
|
|
native = CreateNativeEngine();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
native = NativeEngine;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
window.native = native;
|
|
|
|
|
|
function GetNativeEngine()
|
|
|
{
|
|
|
return window.native;
|
|
|
}
|
|
|
|
|
|
var native_renderer = null;
|
|
|
var Api = null;
|
|
|
var _api = null;
|
|
|
|
|
|
function NativeOpenFileData(data, version)
|
|
|
{
|
|
|
window.NATIVE_DOCUMENT_TYPE = window.native.GetEditorType();
|
|
|
|
|
|
if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
|
|
|
{
|
|
|
_api = new window["Asc"]["asc_docs_api"]({});
|
|
|
_api.asc_nativeOpenFile(data, version);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_api = new window["Asc"]["spreadsheet_api"]({});
|
|
|
_api.asc_nativeOpenFile(data, version);
|
|
|
}
|
|
|
Api = _api;
|
|
|
}
|
|
|
|
|
|
function NativeOpenFile()
|
|
|
{
|
|
|
var doc_bin = window.native.GetFileString(window.native.GetFilePath());
|
|
|
window.NATIVE_DOCUMENT_TYPE = window.native.GetEditorType();
|
|
|
|
|
|
if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
|
|
|
{
|
|
|
_api = new window["Asc"]["asc_docs_api"]("");
|
|
|
|
|
|
_api.asc_nativeOpenFile(doc_bin);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_api = new window["Asc"]["spreadsheet_api"]();
|
|
|
_api.asc_nativeOpenFile(doc_bin);
|
|
|
}
|
|
|
Api = _api;
|
|
|
}
|
|
|
|
|
|
function NativeOpenFile2(_params)
|
|
|
{
|
|
|
window["CreateMainTextMeasurerWrapper"]();
|
|
|
|
|
|
window.g_file_path = "native_open_file";
|
|
|
window.NATIVE_DOCUMENT_TYPE = window.native.GetEditorType();
|
|
|
var doc_bin = window.native.GetFileString(window.g_file_path);
|
|
|
if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
|
|
|
{
|
|
|
_api = new window["Asc"]["asc_docs_api"]("");
|
|
|
|
|
|
if (undefined !== _api.Native_Editor_Initialize_Settings)
|
|
|
{
|
|
|
_api.Native_Editor_Initialize_Settings(_params);
|
|
|
}
|
|
|
|
|
|
_api.asc_nativeOpenFile(doc_bin);
|
|
|
|
|
|
if (_api.NativeAfterLoad)
|
|
|
_api.NativeAfterLoad();
|
|
|
|
|
|
// ToDo get_PropertyThemeColorSchemes method removed, now the only Event!!!!
|
|
|
/*if (_api.__SendThemeColorScheme)
|
|
|
_api.__SendThemeColorScheme();
|
|
|
|
|
|
if (_api.get_PropertyThemeColorSchemes)
|
|
|
{
|
|
|
var schemes = _api.get_PropertyThemeColorSchemes();
|
|
|
if (schemes)
|
|
|
{
|
|
|
var st = global_memory_stream_menu;
|
|
|
st["ClearNoAttack"]();
|
|
|
AscCommon.asc_WriteColorSchemes(schemes, st);
|
|
|
window["native"]["OnCallMenuEvent"](2404, st); // ASC_MENU_EVENT_TYPE_COLOR_SCHEMES
|
|
|
}
|
|
|
}*/
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_api = new window["Asc"]["spreadsheet_api"]();
|
|
|
_api.asc_nativeOpenFile(doc_bin);
|
|
|
}
|
|
|
|
|
|
Api = _api;
|
|
|
}
|
|
|
|
|
|
function NativeCalculateFile()
|
|
|
{
|
|
|
_api.asc_nativeCalculateFile();
|
|
|
}
|
|
|
|
|
|
function NativeApplyChangesData(data, isFull)
|
|
|
{
|
|
|
if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
|
|
|
{
|
|
|
_api.asc_nativeApplyChanges2(data, isFull);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_api.asc_nativeApplyChanges2(data, isFull);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function NativeApplyChanges()
|
|
|
{
|
|
|
if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
|
|
|
{
|
|
|
var __changes = [];
|
|
|
var _count_main = window.native.GetCountChanges();
|
|
|
for (var i = 0; i < _count_main; i++)
|
|
|
{
|
|
|
var _changes_file = window.native.GetChangesFile(i);
|
|
|
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
|
|
|
|
|
|
for (var j = 0; j < _changes.length; j++)
|
|
|
{
|
|
|
__changes.push(_changes[j]);
|
|
|
}
|
|
|
}
|
|
|
_api.asc_nativeApplyChanges(__changes);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var __changes = [];
|
|
|
var _count_main = window.native.GetCountChanges();
|
|
|
for (var i = 0; i < _count_main; i++)
|
|
|
{
|
|
|
var _changes_file = window.native.GetChangesFile(i);
|
|
|
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
|
|
|
|
|
|
for (var j = 0; j < _changes.length; j++)
|
|
|
{
|
|
|
__changes.push(_changes[j]);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
_api.asc_nativeApplyChanges(__changes);
|
|
|
}
|
|
|
}
|
|
|
function NativeGetFileString()
|
|
|
{
|
|
|
return _api.asc_nativeGetFile();
|
|
|
}
|
|
|
function NativeGetFileData()
|
|
|
{
|
|
|
return _api.asc_nativeGetFileData();
|
|
|
}
|
|
|
function NativeGetFileDataHtml()
|
|
|
{
|
|
|
if (_api.asc_nativeGetHtml)
|
|
|
return _api.asc_nativeGetHtml();
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
function NativeStartMailMergeByList(database)
|
|
|
{
|
|
|
if (_api.asc_StartMailMergeByList)
|
|
|
return _api.asc_StartMailMergeByList(database);
|
|
|
return undefined;
|
|
|
}
|
|
|
function NativePreviewMailMergeResult(index)
|
|
|
{
|
|
|
if (_api.asc_PreviewMailMergeResult)
|
|
|
return _api.asc_PreviewMailMergeResult(index);
|
|
|
return undefined;
|
|
|
}
|
|
|
function NativeGetMailMergeFiledValue(index, name)
|
|
|
{
|
|
|
if (_api.asc_GetMailMergeFiledValue)
|
|
|
return _api.asc_GetMailMergeFiledValue(index, name);
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
function GetNativeCountPages()
|
|
|
{
|
|
|
return _api.asc_nativePrintPagesCount();
|
|
|
}
|
|
|
|
|
|
function GetNativeFileDataPDF(_param)
|
|
|
{
|
|
|
return _api.asc_nativeGetPDF(_param);
|
|
|
}
|
|
|
|
|
|
window.memory1 = null;
|
|
|
window.memory2 = null;
|
|
|
|
|
|
function GetNativePageBase64(pageIndex)
|
|
|
{
|
|
|
if (null == window.memory1)
|
|
|
window.memory1 = CreateNativeMemoryStream();
|
|
|
else
|
|
|
window.memory1.ClearNoAttack();
|
|
|
|
|
|
if (null == window.memory2)
|
|
|
window.memory2 = CreateNativeMemoryStream();
|
|
|
else
|
|
|
window.memory2.ClearNoAttack();
|
|
|
|
|
|
if (native_renderer == null)
|
|
|
{
|
|
|
native_renderer = _api.asc_nativeCheckPdfRenderer(window.memory1, window.memory2);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
window.memory1.ClearNoAttack();
|
|
|
window.memory2.ClearNoAttack();
|
|
|
}
|
|
|
|
|
|
_api.asc_nativePrint(native_renderer, pageIndex);
|
|
|
return window.memory1;
|
|
|
}
|
|
|
|
|
|
function GetNativePageMeta(pageIndex)
|
|
|
{
|
|
|
return _api.GetNativePageMeta(pageIndex);
|
|
|
}
|
|
|
|
|
|
function GetNativeId()
|
|
|
{
|
|
|
return window.native.GetFileId();
|
|
|
}
|
|
|
|
|
|
// для работы с таймерами
|
|
|
window.NativeSupportTimeouts = false;
|
|
|
window.NativeTimeoutObject = {};
|
|
|
|
|
|
function clearTimeout(_id)
|
|
|
{
|
|
|
if (!window.NativeSupportTimeouts)
|
|
|
return;
|
|
|
|
|
|
window.NativeTimeoutObject["" + _id] = undefined;
|
|
|
window.native["ClearTimeout"](_id);
|
|
|
}
|
|
|
function setTimeout(func, interval)
|
|
|
{
|
|
|
if (!window.NativeSupportTimeouts)
|
|
|
return;
|
|
|
|
|
|
var _id = window.native["GenerateTimeoutId"](interval);
|
|
|
window.NativeTimeoutObject["" + _id] = func;
|
|
|
return _id;
|
|
|
}
|
|
|
|
|
|
window.native.Call_TimeoutFire = function (_id)
|
|
|
{
|
|
|
if (!window.NativeSupportTimeouts)
|
|
|
return;
|
|
|
|
|
|
var _prop = "" + _id;
|
|
|
var _func = window.NativeTimeoutObject[_prop];
|
|
|
window.NativeTimeoutObject[_prop] = undefined;
|
|
|
|
|
|
if (!_func)
|
|
|
return;
|
|
|
|
|
|
_func.call(null);
|
|
|
_func = null;
|
|
|
};
|
|
|
|
|
|
function clearInterval(_id)
|
|
|
{
|
|
|
if (!window.NativeSupportTimeouts)
|
|
|
return;
|
|
|
|
|
|
window.NativeTimeoutObject["" + _id] = undefined;
|
|
|
window.native["ClearTimeout"](_id);
|
|
|
}
|
|
|
function setInterval(func, interval)
|
|
|
{
|
|
|
if (!window.NativeSupportTimeouts)
|
|
|
return;
|
|
|
|
|
|
var _intervalFunc = function ()
|
|
|
{
|
|
|
func.call(null);
|
|
|
setTimeout(func, interval);
|
|
|
};
|
|
|
|
|
|
var _id = window.native["GenerateTimeoutId"](interval);
|
|
|
window.NativeTimeoutObject["" + _id] = _intervalFunc;
|
|
|
return _id;
|
|
|
}
|
|
|
|
|
|
window.clearTimeout = clearTimeout;
|
|
|
window.setTimeout = setTimeout;
|
|
|
window.clearInterval = clearInterval;
|
|
|
window.setInterval = setInterval;
|
|
|
|
|
|
var console = {
|
|
|
log: function (param)
|
|
|
{
|
|
|
window.native.ConsoleLog(param);
|
|
|
},
|
|
|
time: function (param)
|
|
|
{
|
|
|
},
|
|
|
timeEnd: function (param)
|
|
|
{
|
|
|
}
|
|
|
};
|
|
|
|
|
|
window["NativeCorrectImageUrlOnPaste"] = function (url)
|
|
|
{
|
|
|
return window["native"]["CorrectImageUrlOnPaste"](url);
|
|
|
};
|
|
|
window["NativeCorrectImageUrlOnCopy"] = function (url)
|
|
|
{
|
|
|
return window["native"]["CorrectImageUrlOnCopy"](url);
|
|
|
};
|
|
|
|
|
|
var global_memory_stream_menu = CreateNativeMemoryStream();
|
|
|
|
|
|
// HTML page interface
|
|
|
window.native.Call_OnUpdateOverlay = function (param)
|
|
|
{
|
|
|
return _api.Call_OnUpdateOverlay(param);
|
|
|
};
|
|
|
|
|
|
window.native.Call_OnMouseDown = function (e)
|
|
|
{
|
|
|
return _api.Call_OnMouseDown(e);
|
|
|
};
|
|
|
window.native.Call_OnMouseUp = function (e)
|
|
|
{
|
|
|
return _api.Call_OnMouseUp(e);
|
|
|
};
|
|
|
window.native.Call_OnMouseMove = function (e)
|
|
|
{
|
|
|
return _api.Call_OnMouseMove(e);
|
|
|
};
|
|
|
window.native.Call_OnCheckMouseDown = function (e)
|
|
|
{
|
|
|
return _api.Call_OnCheckMouseDown(e);
|
|
|
};
|
|
|
|
|
|
window.native.Call_OnKeyDown = function (e)
|
|
|
{
|
|
|
return _api.Call_OnKeyDown(e);
|
|
|
};
|
|
|
window.native.Call_OnKeyPress = function (e)
|
|
|
{
|
|
|
return _api.Call_OnKeyPress(e);
|
|
|
};
|
|
|
window.native.Call_OnKeyUp = function (e)
|
|
|
{
|
|
|
return _api.Call_OnKeyUp(e);
|
|
|
};
|
|
|
window.native.Call_OnKeyboardEvent = function (e)
|
|
|
{
|
|
|
return _api.Call_OnKeyboardEvent(e);
|
|
|
};
|
|
|
|
|
|
window.native.Call_CalculateResume = function ()
|
|
|
{
|
|
|
return _api.Call_CalculateResume();
|
|
|
};
|
|
|
|
|
|
window.native.Call_TurnOffRecalculate = function ()
|
|
|
{
|
|
|
return _api.Call_TurnOffRecalculate();
|
|
|
};
|
|
|
window.native.Call_TurnOnRecalculate = function ()
|
|
|
{
|
|
|
return _api.Call_TurnOnRecalculate();
|
|
|
};
|
|
|
|
|
|
window.native.Call_CheckTargetUpdate = function ()
|
|
|
{
|
|
|
return _api.Call_CheckTargetUpdate();
|
|
|
};
|
|
|
window.native.Call_Common = function (type, param)
|
|
|
{
|
|
|
return _api.Call_Common(type, param);
|
|
|
};
|
|
|
|
|
|
window.native.Call_HR_Tabs = function (arrT, arrP)
|
|
|
{
|
|
|
return _api.Call_HR_Tabs(arrT, arrP);
|
|
|
};
|
|
|
window.native.Call_HR_Pr = function (_indent_left, _indent_right, _indent_first)
|
|
|
{
|
|
|
return _api.Call_HR_Pr(_indent_left, _indent_right, _indent_first);
|
|
|
};
|
|
|
window.native.Call_HR_Margins = function (_margin_left, _margin_right)
|
|
|
{
|
|
|
return _api.Call_HR_Margins(_margin_left, _margin_right);
|
|
|
};
|
|
|
window.native.Call_HR_Table = function (_params, _cols, _margins, _rows)
|
|
|
{
|
|
|
return _api.Call_HR_Table(_params, _cols, _margins, _rows);
|
|
|
};
|
|
|
|
|
|
window.native.Call_VR_Margins = function (_top, _bottom)
|
|
|
{
|
|
|
return _api.Call_VR_Margins(_top, _bottom);
|
|
|
};
|
|
|
window.native.Call_VR_Header = function (_header_top, _header_bottom)
|
|
|
{
|
|
|
return _api.Call_VR_Header(_header_top, _header_bottom);
|
|
|
};
|
|
|
window.native.Call_VR_Table = function (_params, _cols, _margins, _rows)
|
|
|
{
|
|
|
return _api.Call_VR_Table(_params, _cols, _margins, _rows);
|
|
|
};
|
|
|
|
|
|
window.native.Call_Menu_Event = function (type, _params)
|
|
|
{
|
|
|
return _api.Call_Menu_Event(type, _params);
|
|
|
};
|