Files
DocumentServer-v-9.2.0/sdkjs/visio/model/SerializeWriter.js
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

1539 lines
45 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* 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 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
"use strict";
(function(window, document)
{
const CBinaryFileWriter = window['AscCommon'].CBinaryFileWriter;
function BinaryVSDYWriter()
{
this.memory = null;
this.nRealTableCount = 0;
this.nStart = 0;
this.nLastFilePos = 0;
this.Write = function(document)
{
let t = this;
const writer = new AscCommon.CBinaryFileWriter();
return writer.WriteDocument3(document, false, "VSDY;v1;", function () {
t.WriteContent(writer, document);
});
};
this.WriteContent = function(binaryFileWriter, document) {
// Define table types
const TABLE_TYPES = {
DOCUMENT: 1,
APP: 2,
CORE: 3,
CUSTOM_PROPERTIES: 4
};
this.memory = binaryFileWriter
const nTableCount = 128;//Специально ставим большое число, чтобы не увеличивать его при добавлении очередной таблицы.
this.nRealTableCount = 0;
this.nStart = this.memory.GetCurPosition();
//вычисляем с какой позиции можно писать таблицы
const nmtItemSize = 5;//5 byte
this.nLastFilePos = this.nStart + nTableCount * nmtItemSize;
//Write mtLen
this.memory.WriteUChar(0);
const t = this;
//Write SignatureTable
if (document.app) {
this.WriteTable(TABLE_TYPES.APP, {Write: function(){
document.app.toStream(binaryFileWriter);
}});
}
if (document.core) {
this.WriteTable(TABLE_TYPES.CORE, {Write: function(){
document.core.toStream(binaryFileWriter);
}});
}
if (document.customProperties && document.customProperties.hasProperties()) {
this.WriteTable(TABLE_TYPES.CUSTOM_PROPERTIES, {Write: function(){
document.customProperties.toStream(binaryFileWriter);
}});
}
this.WriteTable(TABLE_TYPES.DOCUMENT, {Write: function(){
binaryFileWriter.WriteRecordPPTY(0, document);
}});
//Пишем количество таблиц
this.memory.Seek(this.nStart);
this.memory.WriteUChar(this.nRealTableCount);
//seek в конец, потому что GetBase64Memory заканчивает запись на текущей позиции.
this.memory.Seek(this.nLastFilePos);
}
//todo remove coping
this.WriteTable = function(type, oTableSer)
{
const nCurPos = this.WriteTableStart(type);
oTableSer.Write();
this.WriteTableEnd(nCurPos);
}
this.WriteTableStart = function(type)
{
//Write mtItem
//Write mtiType
this.memory.WriteUChar(type);
//Write mtiOffBits
this.memory.WriteULong(this.nLastFilePos);
//Write table
//Запоминаем позицию в MainTable
const nCurPos = this.memory.GetCurPosition();
//Seek в свободную область
this.memory.Seek(this.nLastFilePos);
return nCurPos;
}
this.WriteTableEnd = function(nCurPos)
{
//сдвигаем позицию куда можно следующую таблицу
this.nLastFilePos = this.memory.GetCurPosition();
//Seek вобратно в MainTable
this.memory.Seek(nCurPos);
this.nRealTableCount++;
}
}
AscVisio.CVisioDocument.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CVisioDocument
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CVisioDocument.prototype.writeChildren = function (pWriter) {
// Write documentSettings
pWriter.WriteRecordPPTY(0, this.documentSettings);
// Write colors
if (this.colors && this.colors.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.colors.length; i++) {
pWriter.WriteRecordPPTY(0, this.colors[i]);
}
pWriter.EndRecord();
}
// Write faceNames
if (this.faceNames && this.faceNames.length > 0) {
pWriter.StartRecord(2);
for (let i = 0; i < this.faceNames.length; i++) {
pWriter.WriteRecordPPTY(0, this.faceNames[i]);
}
pWriter.EndRecord();
}
// Write styleSheets
if (this.styleSheets && this.styleSheets.length > 0) {
pWriter.StartRecord(3);
for (let i = 0; i < this.styleSheets.length; i++) {
pWriter.WriteRecordPPTY(0, this.styleSheets[i]);
}
pWriter.EndRecord();
}
// Write documentSheet
pWriter.WriteRecordPPTY(4, this.documentSheet);
// Write eventList
if (this.eventList && this.eventList.length > 0) {
pWriter.StartRecord(5);
for (let i = 0; i < this.eventList.length; i++) {
pWriter.WriteRecordPPTY(0, this.eventList[i]);
}
pWriter.EndRecord();
}
// Write headerFooter
pWriter.WriteRecordPPTY(6, this.headerFooter);
// Write masters
pWriter.WriteRecordPPTY(7, this.masters);
// Write pages
pWriter.WriteRecordPPTY(8, this.pages);
// Write dataConnections
if (this.dataConnections) {
pWriter.StartRecord(9);
pWriter.WriteRecordPPTY(0, this.dataConnections);
pWriter.EndRecord();
}
// Write dataRecordSets
if (this.dataRecordSets) {
pWriter.StartRecord(10);
pWriter.WriteRecordPPTY(0, this.dataRecordSets);
pWriter.EndRecord();
}
// Write solutions
if (this.solutions) {
pWriter.StartRecord(11);
pWriter.WriteRecordPPTY(0, this.solutions);
pWriter.EndRecord();
}
// Write validation
pWriter.WriteRecordPPTY(12, this.validation);
// Write commentsPart
if (this.commentsPart) {
pWriter.StartRecord(13);
pWriter.WriteRecordPPTY(0, this.commentsPart);
pWriter.EndRecord();
}
// Write windows
if (this.windows) {
pWriter.StartRecord(14);
pWriter.WriteRecordPPTY(0, this.windows);
pWriter.EndRecord();
}
if (this.themes) {
for (let i = 0; i < this.themes.length; i++) {
let theme = this.themes[i];
// theme with id 0 is default theme (no theme in visio) - this theme should not be saved
if (theme.themeElements.themeExt.themeSchemeSchemeEnum !== "0") {
pWriter.StartRecord(15);
pWriter.WriteTheme(theme);
pWriter.EndRecord();
}
}
}
//todo VbaProject
//todo JsaProject
};
/**
* Write attributes to stream for CWindows
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CWindows.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.clientWidth);
pWriter._WriteUInt2(1, this.clientHeight);
};
/**
* Write children to stream for CWindows
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CWindows.prototype.writeChildren = function (pWriter) {
if (this.window) {
for (let i = 0; i < this.window.length; i++) {
pWriter.WriteRecordPPTY(0, this.window[i]);
}
}
};
AscVisio.CMasters.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CMasters
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CMasters.prototype.writeChildren = function (pWriter) {
if (this.master) {
for (let i = 0; i < this.master.length; i++) {
pWriter.WriteRecordPPTY(0, this.master[i]);
}
}
};
AscVisio.CPageContents.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CPageContents
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CPageContents.prototype.writeChildren = function (pWriter) {
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
// Write connects
if (this.connects && this.connects.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.connects.length; i++) {
pWriter.WriteRecordPPTY(0, this.connects[i]);
}
pWriter.EndRecord();
}
};
AscVisio.CMasterContents.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CMasterContents
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CMasterContents.prototype.writeChildren = function (pWriter) {
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
// Write connects
if (this.connects && this.connects.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.connects.length; i++) {
pWriter.WriteRecordPPTY(0, this.connects[i]);
}
pWriter.EndRecord();
}
};
AscVisio.CPages.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CPages
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CPages.prototype.writeChildren = function (pWriter) {
if (this.page) {
for (let i = 0; i < this.page.length; i++) {
pWriter.WriteRecordPPTY(0, this.page[i]);
}
}
};
/**
* Write attributes to stream for StyleSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.StyleSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteUInt2(5, this.lineStyle);
pWriter._WriteUInt2(6, this.fillStyle);
pWriter._WriteUInt2(7, this.textStyle);
};
/**
* Write children to stream for StyleSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.StyleSheet_Type.prototype.writeChildren = function (pWriter) {
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for CComments
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CComments.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.showCommentTags);
};
/**
* Write children to stream for CComments
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CComments.prototype.writeChildren = function (pWriter) {
// Write authorList
if (this.authorList && this.authorList.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.authorList.length; i++) {
pWriter.WriteRecordPPTY(0, this.authorList[i]);
}
pWriter.EndRecord();
}
// Write commentList
if (this.commentList && this.commentList.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.commentList.length; i++) {
pWriter.WriteRecordPPTY(0, this.commentList[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for CDataConnections
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataConnections.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.nextID);
};
/**
* Write children to stream for CDataConnections
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataConnections.prototype.writeChildren = function (pWriter) {
if (this.dataConnection) {
for (let i = 0; i < this.dataConnection.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataConnection[i]);
}
}
};
/**
* Write attributes to stream for CDataRecordSets
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataRecordSets.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.nextID);
pWriter._WriteUInt2(1, this.activeRecordsetID);
pWriter._WriteString2(2, this.dataWindowOrder);
};
/**
* Write children to stream for CDataRecordSets
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataRecordSets.prototype.writeChildren = function (pWriter) {
if (this.dataRecordSet) {
for (let i = 0; i < this.dataRecordSet.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataRecordSet[i]);
}
}
};
AscVisio.CValidation.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CValidation
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CValidation.prototype.writeChildren = function (pWriter) {
// Write validationProperties
pWriter.WriteRecordPPTY(0, this.validationProperties);
// Write ruleSets
if (this.ruleSets && this.ruleSets.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.ruleSets.length; i++) {
pWriter.WriteRecordPPTY(0, this.ruleSets[i]);
}
pWriter.EndRecord();
}
// Write issues
if (this.issues && this.issues.length > 0) {
pWriter.StartRecord(2);
for (let i = 0; i < this.issues.length; i++) {
pWriter.WriteRecordPPTY(0, this.issues[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for RuleTest_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleTest_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.value);
};
/**
* Write attributes to stream for RuleFilter_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleFilter_Type.prototype.privateWriteAttributes = AscVisio.RuleTest_Type.prototype.privateWriteAttributes;
/**
* Write attributes to stream for RowKeyValue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RowKeyValue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.rowID);
pWriter._WriteString2(1, this.value);
};
/**
* Write attributes to stream for DataColumn_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumn_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.columnNameID);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.label);
pWriter._WriteString2(3, this.origLabel);
// Note: langID is skipped in the reader as a TODO
pWriter._WriteUInt2(5, this.calendar);
pWriter._WriteUInt2(6, this.dataType);
pWriter._WriteString2(7, this.unitType);
pWriter._WriteUInt2(8, this.currency);
pWriter._WriteUInt2(9, this.degree);
pWriter._WriteUInt2(10, this.displayWidth);
pWriter._WriteUInt2(11, this.displayOrder);
pWriter._WriteBool2(12, this.mapped);
pWriter._WriteBool2(13, this.hyperlink);
};
/**
* Write attributes to stream for RuleInfo_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleInfo_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ruleID);
pWriter._WriteUInt2(1, this.ruleSetID);
};
/**
* Write attributes to stream for IssueTarget_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.IssueTarget_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.pageID);
pWriter._WriteUInt2(1, this.shapeID);
};
/**
* Write attributes to stream for Rule_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Rule_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.category);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteBool2(3, this.ignored);
pWriter._WriteString2(4, this.description);
pWriter._WriteInt2(5, this.ruleTarget);
};
/**
* Write children to stream for Rule_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Rule_Type.prototype.writeChildren = function (pWriter) {
// Write ruleFilter
pWriter.WriteRecordPPTY(0, this.ruleFilter);
// Write ruleTest
pWriter.WriteRecordPPTY(1, this.ruleTest);
};
/**
* Write attributes to stream for RuleSetFlags_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSetFlags_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.hidden);
};
/**
* Write attributes to stream for RowMap_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RowMap_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.rowID);
pWriter._WriteUInt2(1, this.pageID);
pWriter._WriteUInt2(2, this.shapeID);
};
/**
* Write attributes to stream for PrimaryKey_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PrimaryKey_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.columnNameID);
};
/**
* Write children to stream for PrimaryKey_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PrimaryKey_Type.prototype.writeChildren = function (pWriter) {
// Write rowKeyValue elements
if (this.rowKeyValue) {
for (let i = 0; i < this.rowKeyValue.length; i++) {
pWriter.WriteRecordPPTY(0, this.rowKeyValue[i]);
}
}
};
/**
* Write attributes to stream for DataColumns_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumns_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.sortColumn);
pWriter._WriteBool2(1, this.sortAsc);
};
/**
* Write children to stream for DataColumns_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumns_Type.prototype.writeChildren = function (pWriter) {
// Write dataColumn elements
if (this.dataColumn) {
for (let i = 0; i < this.dataColumn.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataColumn[i]);
}
}
};
/**
* Write to binary format for Icon_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Icon_Type.prototype.toPPTY = function (pWriter) {
pWriter.WriteString2(this.value);
};
/**
* Write attributes to stream for PageSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PageSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.uniqueID);
pWriter._WriteUInt2(1, this.lineStyle);
pWriter._WriteUInt2(2, this.fillStyle);
pWriter._WriteUInt2(3, this.textStyle);
};
/**
* Write children to stream for PageSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PageSheet_Type.prototype.writeChildren = function (pWriter) {
// Write elements (cells, triggers, sections)
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for tp_Type (Text Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.tp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for pp_Type (Text Paragraph Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.pp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for fld_Type (Text Field Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.fld_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2(1, this.value);
};
/**
* Write attributes to stream for cp_Type (Character Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.cp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for CommentEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CommentEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.authorID);
pWriter._WriteUInt2(1, this.pageID);
pWriter._WriteUInt2(2, this.shapeID);
pWriter._WriteString2(3, this.date);
pWriter._WriteString2(4, this.editDate);
pWriter._WriteUInt2(5, this.commentID);
pWriter._WriteUInt2(6, this.autoCommentType);
pWriter._WriteString2(7, this.value);
};
/**
* Write attributes to stream for AuthorEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.AuthorEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.initials);
pWriter._WriteString2(3, this.resolutionID);
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteBool2(1, this.ignored);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write issueTarget
pWriter.WriteRecordPPTY(0, this.issueTarget);
// Write ruleInfo
pWriter.WriteRecordPPTY(1, this.ruleInfo);
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.id);
pWriter._WriteString2(1, this.ignored);
pWriter._WriteString2(2, this.ruleID);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write targets if present
if (this.targets && this.targets.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.targets.length; i++) {
pWriter.WriteRecordPPTY(0, this.targets[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for RuleSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteString2(3, this.description);
pWriter._WriteBool2(4, this.enabled);
};
/**
* Write children to stream for RuleSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSet_Type.prototype.writeChildren = function (pWriter) {
// Write ruleSetFlags if present
pWriter.WriteRecordPPTY(0, this.ruleSetFlags);
// Write rules if present
if (this.rule) {
for (let i = 0; i < this.rule.length; i++) {
pWriter.WriteRecordPPTY(1, this.rule[i]);
}
}
};
/**
* Write attributes to stream for ValidationProperties_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ValidationProperties_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.showIgnored);
pWriter._WriteString2(1, this.lastValidated);
};
/**
* Write attributes to stream for DataRecordSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataRecordSet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUInt2(1, this.connectionID);
pWriter._WriteString2(2, this.command);
pWriter._WriteUInt2(3, this.options);
pWriter._WriteString2(4, this.timeRefreshed);
pWriter._WriteUInt2(5, this.nextRowID);
pWriter._WriteString2(6, this.name);
pWriter._WriteString2(7, this.rowOrder);
pWriter._WriteBool2(8, this.refreshOverwriteAll);
pWriter._WriteBool2(9, this.refreshNoReconciliationUI);
pWriter._WriteUInt2(10, this.refreshInterval);
pWriter._WriteBool2(11, this.replaceLinks);
pWriter._WriteUInt2(12, this.checksum);
};
/**
* Write children to stream for DataRecordSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataRecordSet_Type.prototype.writeChildren = function (pWriter) {
// Write dataColumns if present
pWriter.WriteRecordPPTY(0, this.dataColumns);
// Write primaryKey if present
if (this.primaryKey) {
for (let i = 0; i < this.primaryKey.length; i++) {
pWriter.StartRecord(1);
pWriter.WriteRecordPPTY(0, this.primaryKey[i]);
pWriter.EndRecord();
}
}
// Write rowMaps if present
if (this.rowMaps) {
for (let i = 0; i < this.rowMaps.length; i++) {
pWriter.StartRecord(2);
pWriter.WriteRecordPPTY(0, this.rowMaps[i]);
pWriter.EndRecord();
}
}
// Write content if present
if (this.content) {
pWriter.StartRecord(5);
pWriter.StartRecord(0);
pWriter.WriteBuffer(this.content, 0, this.content.length);
pWriter.EndRecord();
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for DataConnection_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataConnection_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.fileName);
pWriter._WriteString2(2, this.connectionString);
pWriter._WriteString2(3, this.command);
pWriter._WriteString2(4, this.friendlyName);
pWriter._WriteUInt2(5, this.timeout);
pWriter._WriteBool2(6, this.alwaysUseConnectionFile);
};
/**
* Write attributes to stream for Solution_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Solution_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.name);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.xml);
};
/**
* Write children to stream for Solution_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Solution_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.content) {
pWriter.StartRecord(0);
pWriter.StartRecord(0);
pWriter.WriteBuffer(this.content, 0, this.content.length);
pWriter.EndRecord();
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for Window_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Window_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUChar2(1, this.windowType);
pWriter._WriteUInt2(2, this.windowState);
pWriter._WriteInt2(3, this.windowLeft);
pWriter._WriteInt2(4, this.windowTop);
pWriter._WriteUInt2(5, this.windowWidth);
pWriter._WriteUInt2(6, this.windowHeight);
pWriter._WriteUChar2(7, this.containerType);
pWriter._WriteUInt2(8, this.container);
pWriter._WriteUInt2(9, this.page);
pWriter._WriteUInt2(10, this.sheet);
pWriter._WriteDoubleReal2(11, this.viewScale);
pWriter._WriteDoubleReal2(12, this.viewCenterX);
pWriter._WriteDoubleReal2(13, this.viewCenterY);
pWriter._WriteString2(14, this.document);
pWriter._WriteUInt2(15, this.parentWindow);
pWriter._WriteBool2(16, this.readOnly);
pWriter._WriteBool2(17, this.showRulers);
pWriter._WriteBool2(18, this.showGrid);
pWriter._WriteBool2(19, this.showPageBreaks);
pWriter._WriteBool2(20, this.showGuides);
pWriter._WriteBool2(21, this.showConnectionPoints);
pWriter._WriteUInt2(22, this.glueSettings);
pWriter._WriteUInt2(23, this.snapSettings);
pWriter._WriteUInt2(24, this.snapExtensions);
pWriter._WriteBool2(26, this.dynamicGridEnabled);
pWriter._WriteDoubleReal2(27, this.tabSplitterPos);
pWriter._WriteUInt2(28, this.stencilGroup);
pWriter._WriteUInt2(29, this.stencilGroupPos);
};
/**
* Write children to stream for Window_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Window_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.snapAngles && this.snapAngles.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.snapAngles.length; i++) {
pWriter.WriteRecordPPTY(0, this.snapAngles[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for Page_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Page_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteBool2(5, this.background);
pWriter._WriteUInt2(6, this.backPage);
pWriter._WriteDoubleReal2(7, this.viewScale);
pWriter._WriteDoubleReal2(8, this.viewCenterX);
pWriter._WriteDoubleReal2(9, this.viewCenterY);
pWriter._WriteUInt2(10, this.reviewerID);
pWriter._WriteUInt2(11, this.associatedPage);
};
/**
* Write children to stream for Page_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Page_Type.prototype.writeChildren = function (pWriter) {
// Write pageSheet if present
pWriter.WriteRecordPPTY(0, this.pageSheet);
// Write rel if present
pWriter.WriteRecordPPTY(1, this.content);
};
/**
* Write attributes to stream for Connect_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Connect_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.fromSheet);
pWriter._WriteString2Utf8(1, this.fromCell);
pWriter._WriteInt2(2, this.fromPart);
pWriter._WriteUInt2(3, this.toSheet);
pWriter._WriteString2Utf8(4, this.toCell);
pWriter._WriteInt2(5, this.toPart);
};
/**
* Write attributes to stream for Shape_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Shape_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUChar2(1, this.type);
pWriter._WriteUInt2(2, this.originalID);
pWriter._WriteBool2(3, this.del);
pWriter._WriteUInt2(4, this.masterShape);
pWriter._WriteString2(5, this.uniqueID);
pWriter._WriteString2(6, this.nameU);
pWriter._WriteString2(7, this.name);
pWriter._WriteBool2(8, this.isCustomName);
pWriter._WriteBool2(9, this.isCustomNameU);
pWriter._WriteUInt2(10, this.master);
pWriter._WriteUInt2(11, this.lineStyle);
pWriter._WriteUInt2(12, this.fillStyle);
pWriter._WriteUInt2(13, this.textStyle);
};
/**
* Write children to stream for Shape_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Shape_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Text_Type:
pWriter.WriteRecordPPTY(3, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.ForeignData_Type:
pWriter.WriteRecordPPTY(4, elem);
break;
}
}
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(5);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
};
AscVisio.Text_Type.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for Text_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Text_Type.prototype.writeChildren = function (pWriter) {
this.elements.forEach(function(elem) {
switch (elem.kind) {
case AscVisio.c_oVsdxTextKind.CP:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxTextKind.PP:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxTextKind.TP:
pWriter.WriteRecordPPTY(2, elem);
break;
case AscVisio.c_oVsdxTextKind.FLD:
pWriter.WriteRecordPPTY(3, elem);
break;
default:
pWriter.StartRecord(4);
pWriter.WriteUChar(AscCommon.g_nodeAttributeStart);
pWriter._WriteString2(0, elem);
pWriter.WriteUChar(AscCommon.g_nodeAttributeEnd);
pWriter.EndRecord();
break;
}
});
};
/**
* Write attributes to stream for RefBy_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RefBy_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.t);
};
/**
* Write attributes to stream for HeaderFooter_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.HeaderFooter_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteDoubleReal2(0, this.headerMargin);
pWriter._WriteDoubleReal2(1, this.footerMargin);
pWriter._WriteString2(2, this.headerLeft);
pWriter._WriteString2(3, this.headerCenter);
pWriter._WriteString2(4, this.headerRight);
pWriter._WriteString2(5, this.footerLeft);
pWriter._WriteString2(6, this.footerCenter);
pWriter._WriteString2(7, this.footerRight);
pWriter._WriteString2(8, this.headerFooterFont);
};
/**
* Write attributes to stream for EventItem_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.EventItem_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUInt2(1, this.action);
pWriter._WriteUInt2(2, this.eventCode);
pWriter._WriteBool2(3, this.enabled);
pWriter._WriteString2(4, this.target);
pWriter._WriteString2(5, this.targetArgs);
};
/**
* Write attributes to stream for DocumentSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.uniqueID);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteUInt2(5, this.lineStyle);
pWriter._WriteUInt2(6, this.fillStyle);
pWriter._WriteUInt2(7, this.textStyle);
};
/**
* Write children to stream for DocumentSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSheet_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for FaceName_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.FaceName_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.nameU);
pWriter._WriteString2(1, this.unicodeRanges);
pWriter._WriteString2(2, this.charSets);
pWriter._WriteString2(3, this.panos);
pWriter._WriteString2(4, this.panose);
pWriter._WriteUInt2(5, this.flags);
};
/**
* Write attributes to stream for ColorEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ColorEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2(1, this.rgb);
};
/**
* Write attributes to stream for DocumentSettings_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSettings_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.topPage);
pWriter._WriteUInt2(1, this.defaultTextStyle);
pWriter._WriteUInt2(2, this.defaultLineStyle);
pWriter._WriteUInt2(3, this.defaultFillStyle);
pWriter._WriteUInt2(4, this.defaultGuideStyle);
pWriter._WriteInt2(5, this.glueSettings);
pWriter._WriteInt2(6, this.snapSettings);
pWriter._WriteInt2(7, this.snapExtensions);
pWriter._WriteBool2(9, this.dynamicGridEnabled);
pWriter._WriteBool2(10, this.protectStyles);
pWriter._WriteBool2(11, this.protectShapes);
pWriter._WriteBool2(12, this.protectBkgnds);
pWriter._WriteBool2(13, this.protectMasters);
pWriter._WriteString2(14, this.customMenusFile);
pWriter._WriteString2(15, this.customToolbarsFile);
pWriter._WriteString2(16, this.attachedToolbars);
};
/**
* Write children to stream for DocumentSettings_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSettings_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.snapAngles && this.snapAngles.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.snapAngles.length; i++) {
pWriter.WriteRecordPPTY(0, this.snapAngles[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for SnapAngle_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.SnapAngle_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteDoubleReal2(0, this.value);
};
/**
* Write attributes to stream for Section_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Section_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2Utf8(1, this.n);
pWriter._WriteBool2(2, this.del);
};
/**
* Write children to stream for Section_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Section_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Row_Type:
pWriter.WriteRecordPPTY(6, elem);
break;
}
}
};
/**
* Write attributes to stream for Trigger_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Trigger_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2Utf8(0, this.n);
};
/**
* Write children to stream for Trigger_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Trigger_Type.prototype.writeChildren = function (pWriter) {
// Write refBy
for (let i = 0; i < this.refBy.length; i++) {
pWriter.WriteRecordPPTY(0, this.refBy[i]);
}
};
/**
* Write attributes to stream for Row_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Row_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2Utf8(1, this.n);
pWriter._WriteString2(2, this.localName);
pWriter._WriteString2Utf8(3, this.t);
pWriter._WriteBool2(4, this.del);
};
/**
* Write children to stream for Row_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Row_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
}
}
};
/**
* Write attributes to stream for Cell_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Cell_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2Utf8(0, this.n);
pWriter._WriteString2Utf8(1, this.u);
pWriter._WriteString2Utf8(2, this.e);
pWriter._WriteString2Utf8(3, this.f);
pWriter._WriteString2Utf8(4, this.v);
};
/**
* Write children to stream for Cell_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Cell_Type.prototype.writeChildren = function (pWriter) {
// Write refBy
for (let i = 0; i < this.refBy.length; i++) {
pWriter.WriteRecordPPTY(0, this.refBy[i]);
}
};
/**
* Write attributes to stream for ForeignData_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ForeignData_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUChar2(0, this.foreignType);
pWriter._WriteUInt2(1, this.objectType);
pWriter._WriteBool2(2, this.showAsIcon);
pWriter._WriteDoubleReal2(3, this.objectWidth);
pWriter._WriteDoubleReal2(4, this.objectHeight);
pWriter._WriteDoubleReal2(5, this.extentX);
pWriter._WriteDoubleReal2(6, this.extentY);
pWriter._WriteUChar2(7, this.compressionType);
pWriter._WriteDoubleReal2(8, this.compressionLevel);
};
/**
* Write children to stream for ForeignData_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ForeignData_Type.prototype.writeChildren = function (pWriter) {
// Write image data
if (null !== this.mediaFilename) {
pWriter.StartRecord(1);
pWriter.WriteString2(this.mediaFilename);
pWriter.EndRecord();
}
if (null !== this.oleFilename) {
pWriter.StartRecord(2);
pWriter.WriteString2(this.oleFilename);
pWriter.EndRecord();
}
};
AscVisio.CSolutions.prototype.privateWriteAttributes = undefined;
/**
* Write attributes to stream for CSolutions
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CSolutions.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.current);
};
/**
* Write children to stream for CSolutions
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CSolutions.prototype.writeChildren = function (pWriter) {
// Write solution objects
if (this.solution && this.solution.length > 0) {
for (let i = 0; i < this.solution.length; i++) {
pWriter.WriteRecordPPTY(0, this.solution[i]);
}
}
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteBool2(1, this.ignored);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write issueTargets
if (this.issueTargets && this.issueTargets.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.issueTargets.length; i++) {
pWriter.WriteRecordPPTY(0, this.issueTargets[i]);
}
pWriter.EndRecord();
}
// Write ruleInfo
pWriter.WriteRecordPPTY(1, this.ruleInfo);
};
/**
* Write attributes to stream for Master_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Master_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteString2(3, this.baseID);
pWriter._WriteString2(4, this.uniqueID);
pWriter._WriteBool2(5, this.matchByName);
pWriter._WriteBool2(6, this.isCustomName);
pWriter._WriteBool2(7, this.isCustomNameU);
pWriter._WriteUInt2(8, this.iconSize);
pWriter._WriteUInt2(9, this.patternFlags);
pWriter._WriteString2(10, this.prompt);
pWriter._WriteBool2(11, this.hidden);
pWriter._WriteBool2(12, this.iconUpdate);
pWriter._WriteUInt2(13, this.alignName);
pWriter._WriteUInt2(14, this.masterType);
};
/**
* Write children to stream for Master_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Master_Type.prototype.writeChildren = function (pWriter) {
// Write pageSheet
pWriter.WriteRecordPPTY(0, this.pageSheet);
// Write icon
pWriter.WriteRecordPPTY(1, this.icon);
// Write rel
pWriter.WriteRecordPPTY(2, this.content);
};
window['AscVisio'] = window['AscVisio'] || {};
window['AscVisio'].BinaryVSDYWriter = BinaryVSDYWriter;
})(window, window.document);