circuitscript 0.5.3 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/BaseVisitor.js +11 -10
- package/dist/cjs/annotate/ComponentAnnotater.js +3 -2
- package/dist/cjs/builtinMethods.js +6 -5
- package/dist/cjs/environment/environment.js +2 -2
- package/dist/cjs/errors.js +140 -0
- package/dist/cjs/execute.js +12 -5
- package/dist/cjs/globals.js +10 -6
- package/dist/cjs/main.js +3 -2
- package/dist/cjs/objects/ClassComponent.js +4 -4
- package/dist/cjs/objects/ExecutionScope.js +2 -2
- package/dist/cjs/objects/Frame.js +7 -0
- package/dist/cjs/objects/NumericValue.js +15 -0
- package/dist/cjs/objects/PinDefinition.js +2 -2
- package/dist/cjs/objects/types.js +2 -2
- package/dist/cjs/parser.js +3 -2
- package/dist/cjs/pipeline.js +25 -15
- package/dist/cjs/regenerate-tests.js +6 -6
- package/dist/cjs/render/draw_symbols.js +40 -25
- package/dist/cjs/render/geometry.js +6 -6
- package/dist/cjs/render/graph.js +4 -0
- package/dist/cjs/render/layout.js +325 -253
- package/dist/cjs/render/render.js +38 -24
- package/dist/cjs/semantic-tokens/getSemanticTokens.js +2 -2
- package/dist/cjs/sizing.js +2 -2
- package/dist/cjs/styles.js +19 -0
- package/dist/cjs/utils.js +13 -110
- package/dist/cjs/validate/validateScript.js +2 -2
- package/dist/cjs/visitor.js +14 -12
- package/dist/esm/BaseVisitor.js +2 -1
- package/dist/esm/annotate/ComponentAnnotater.js +3 -2
- package/dist/esm/builtinMethods.js +6 -5
- package/dist/esm/environment/environment.js +1 -1
- package/dist/esm/errors.js +119 -0
- package/dist/esm/execute.js +10 -3
- package/dist/esm/globals.js +8 -4
- package/dist/esm/main.js +3 -2
- package/dist/esm/objects/ClassComponent.js +1 -1
- package/dist/esm/objects/ExecutionScope.js +1 -1
- package/dist/esm/objects/Frame.js +7 -0
- package/dist/esm/objects/NumericValue.js +15 -0
- package/dist/esm/objects/PinDefinition.js +1 -1
- package/dist/esm/objects/types.js +1 -1
- package/dist/esm/parser.js +2 -1
- package/dist/esm/pipeline.js +14 -4
- package/dist/esm/regenerate-tests.js +6 -6
- package/dist/esm/render/draw_symbols.js +41 -24
- package/dist/esm/render/geometry.js +6 -6
- package/dist/esm/render/graph.js +5 -0
- package/dist/esm/render/layout.js +325 -253
- package/dist/esm/render/render.js +38 -24
- package/dist/esm/semantic-tokens/getSemanticTokens.js +1 -1
- package/dist/esm/sizing.js +2 -2
- package/dist/esm/styles.js +20 -0
- package/dist/esm/utils.js +10 -95
- package/dist/esm/validate/validateScript.js +1 -1
- package/dist/esm/visitor.js +4 -2
- package/dist/libs/std.cst +37 -37
- package/dist/types/BaseVisitor.d.ts +3 -1
- package/dist/types/errors.d.ts +37 -0
- package/dist/types/execute.d.ts +1 -1
- package/dist/types/globals.d.ts +8 -4
- package/dist/types/helpers.d.ts +1 -1
- package/dist/types/objects/Frame.d.ts +7 -0
- package/dist/types/objects/NumericValue.d.ts +5 -1
- package/dist/types/render/draw_symbols.d.ts +8 -3
- package/dist/types/render/geometry.d.ts +4 -4
- package/dist/types/render/graph.d.ts +3 -0
- package/dist/types/render/layout.d.ts +7 -1
- package/dist/types/render/render.d.ts +2 -1
- package/dist/types/styles.d.ts +11 -0
- package/dist/types/utils.d.ts +2 -27
- package/dist/types/visitor.d.ts +1 -1
- package/libs/std.cst +37 -37
- package/package.json +1 -1
package/dist/cjs/pipeline.js
CHANGED
|
@@ -20,6 +20,8 @@ const render_js_1 = require("./render/render.js");
|
|
|
20
20
|
const rules_js_1 = require("./rules-check/rules.js");
|
|
21
21
|
const utils_js_1 = require("./utils.js");
|
|
22
22
|
const visitor_js_1 = require("./visitor.js");
|
|
23
|
+
const styles_js_1 = require("./styles.js");
|
|
24
|
+
const errors_js_1 = require("./errors.js");
|
|
23
25
|
async function renderScript(scriptData, outputPath, options) {
|
|
24
26
|
const parseHandlers = [
|
|
25
27
|
new KiCadNetListOutputHandler_js_1.KiCadNetListOutputHandler(),
|
|
@@ -31,28 +33,28 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
31
33
|
const { dumpNets = false, dumpData = false, showStats = false, enableErc = false, enableBom = false, lexerDiagnostics = false, lexerVerbose = false, lexerTokens = false, lexerMapping = false, lexerSummary = false, inputPath = '', bomOutputPath = undefined, environment } = options;
|
|
32
34
|
const errors = [];
|
|
33
35
|
const onErrorHandler = (message, context, error) => {
|
|
34
|
-
if (error && error instanceof
|
|
36
|
+
if (error && error instanceof errors_js_1.RuntimeExecutionError) {
|
|
35
37
|
errors.push(error);
|
|
36
38
|
}
|
|
37
39
|
else if (error && error instanceof antlr4ng_1.RecognitionException) {
|
|
38
40
|
if (context !== null) {
|
|
39
|
-
errors.push(new
|
|
41
|
+
errors.push(new errors_js_1.ParseSyntaxError(message, context.start, context.stop));
|
|
40
42
|
}
|
|
41
43
|
else {
|
|
42
44
|
if (error.recognizer) {
|
|
43
45
|
const recognizer = error.recognizer;
|
|
44
|
-
errors.push(new
|
|
46
|
+
errors.push(new errors_js_1.ParseSyntaxError(message, {
|
|
45
47
|
line: recognizer.currentTokenStartLine,
|
|
46
48
|
column: recognizer.currentTokenColumn
|
|
47
49
|
}));
|
|
48
50
|
}
|
|
49
51
|
else {
|
|
50
|
-
errors.push(new
|
|
52
|
+
errors.push(new errors_js_1.ParseSyntaxError(message));
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
else {
|
|
55
|
-
errors.push(new
|
|
57
|
+
errors.push(new errors_js_1.ParseError(message, context.start, context.stop));
|
|
56
58
|
}
|
|
57
59
|
};
|
|
58
60
|
const visitor = new visitor_js_1.ParserVisitor(true, onErrorHandler, environment);
|
|
@@ -78,7 +80,7 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
78
80
|
if (throwError) {
|
|
79
81
|
importErrorMsg = ": " + throwError.message;
|
|
80
82
|
}
|
|
81
|
-
throw new
|
|
83
|
+
throw new errors_js_1.ParseError(`Error parsing imported file: ${filePath}${importErrorMsg}`, undefined, undefined, filePath);
|
|
82
84
|
}
|
|
83
85
|
return { hasError, hasParseError, tree, tokens };
|
|
84
86
|
};
|
|
@@ -140,7 +142,7 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
140
142
|
visitor.annotateComponents();
|
|
141
143
|
}
|
|
142
144
|
catch (err) {
|
|
143
|
-
throw new
|
|
145
|
+
throw new errors_js_1.RenderError(`Error during component annotation: ${err}`, 'annotation');
|
|
144
146
|
}
|
|
145
147
|
const componentLinks = visitor.getComponentCtxLinks();
|
|
146
148
|
const importedLibraries = Array.from(visitor.getScope().libraries.values());
|
|
@@ -194,8 +196,10 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
194
196
|
const graphEngine = new graph_js_1.NetGraph(logger);
|
|
195
197
|
const layoutEngine = new layout_js_1.LayoutEngine(logger);
|
|
196
198
|
const layoutTimer = new utils_js_1.SimpleStopwatch();
|
|
199
|
+
const styles = (0, styles_js_1.getStylesFromDocument)(documentVariable);
|
|
197
200
|
let sheetFrames;
|
|
198
201
|
try {
|
|
202
|
+
graphEngine.setStyles(styles);
|
|
199
203
|
const { graph, containerFrames } = graphEngine.generateLayoutGraph(sequence, nets);
|
|
200
204
|
sheetFrames = layoutEngine.runLayout(graph, containerFrames, nets);
|
|
201
205
|
if (enableErc) {
|
|
@@ -212,7 +216,13 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
212
216
|
}
|
|
213
217
|
}
|
|
214
218
|
catch (err) {
|
|
215
|
-
|
|
219
|
+
let useErr = err;
|
|
220
|
+
if (err instanceof errors_js_1.AutoWireFailedError_) {
|
|
221
|
+
const errCtx = visitor.wireCtxLinks.get(err.wire);
|
|
222
|
+
useErr = new errors_js_1.AutoWireFailedError(err.message, errCtx.start, errCtx.stop);
|
|
223
|
+
}
|
|
224
|
+
dumpData && environment.writeFileSync(dumpDirectory + 'raw-layout.txt', layoutEngine.logger.dump());
|
|
225
|
+
throw new errors_js_1.RenderError(`Error during layout generation`, 'layout', { cause: useErr });
|
|
216
226
|
}
|
|
217
227
|
layoutEngine.printWarnings();
|
|
218
228
|
showStats && console.log('Layout took:', layoutTimer.lap());
|
|
@@ -221,10 +231,10 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
221
231
|
const renderLogger = new logger_js_1.Logger();
|
|
222
232
|
let svgCanvas;
|
|
223
233
|
try {
|
|
224
|
-
svgCanvas = (0, render_js_1.renderSheetsToSVG)(sheetFrames, renderLogger, documentVariable);
|
|
234
|
+
svgCanvas = (0, render_js_1.renderSheetsToSVG)(sheetFrames, renderLogger, documentVariable, styles);
|
|
225
235
|
}
|
|
226
236
|
catch (err) {
|
|
227
|
-
throw new
|
|
237
|
+
throw new errors_js_1.RenderError(`Error during SVG generation: ${err}`, 'svg_generation');
|
|
228
238
|
}
|
|
229
239
|
showStats && console.log('Render took:', generateSvgTimer.lap());
|
|
230
240
|
dumpData && environment.writeFileSync(dumpDirectory + 'raw-render.txt', renderLogger.dump());
|
|
@@ -235,7 +245,7 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
235
245
|
svgOutput = (0, render_js_1.generateSvgOutput)(svgCanvas, outputDefaultZoom);
|
|
236
246
|
}
|
|
237
247
|
catch (err) {
|
|
238
|
-
throw new
|
|
248
|
+
throw new errors_js_1.RenderError(`Error generating SVG output: ${err}`, 'svg_output');
|
|
239
249
|
}
|
|
240
250
|
if (outputPath) {
|
|
241
251
|
if (fileExtension === 'svg') {
|
|
@@ -243,7 +253,7 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
243
253
|
environment.writeFileSync(outputPath, svgOutput);
|
|
244
254
|
}
|
|
245
255
|
catch (err) {
|
|
246
|
-
throw new
|
|
256
|
+
throw new errors_js_1.RenderError(`Error writing SVG file: ${err}`, 'file_output');
|
|
247
257
|
}
|
|
248
258
|
}
|
|
249
259
|
else if (fileExtension === 'pdf') {
|
|
@@ -264,17 +274,17 @@ async function renderScriptCustom(scriptData, outputPath, options, parseHandlers
|
|
|
264
274
|
doc.end();
|
|
265
275
|
}
|
|
266
276
|
catch (err) {
|
|
267
|
-
throw new
|
|
277
|
+
throw new errors_js_1.RenderError(`Error generating PDF file: ${err}`, 'pdf_output');
|
|
268
278
|
}
|
|
269
279
|
}
|
|
270
280
|
else {
|
|
271
|
-
throw new
|
|
281
|
+
throw new errors_js_1.RenderError(`Invalid output format: ${fileExtension}`, 'file_output');
|
|
272
282
|
}
|
|
273
283
|
console.log('Generated file', outputPath);
|
|
274
284
|
}
|
|
275
285
|
}
|
|
276
286
|
catch (err) {
|
|
277
|
-
throw new
|
|
287
|
+
throw new errors_js_1.RenderError(`Error during rendering: ${err}`, 'output_generation', { cause: err });
|
|
278
288
|
}
|
|
279
289
|
}
|
|
280
290
|
return {
|
|
@@ -45,14 +45,14 @@ async function regenerateTests(extra = "") {
|
|
|
45
45
|
cstFiles.forEach(file => {
|
|
46
46
|
const svg1 = 'svgs/' + file + '.svg';
|
|
47
47
|
const svg2 = 'svgs/' + file + '.next.svg';
|
|
48
|
-
const cleanedName = file.replace('script', '')
|
|
49
|
-
|
|
48
|
+
const cleanedName = file.replace('script', '')
|
|
49
|
+
.replace('.cst', '')
|
|
50
|
+
.replace('.annotated', '');
|
|
51
|
+
allFiles.push([file, svg1, svg2, Number(cleanedName)]);
|
|
50
52
|
});
|
|
51
53
|
const sortedFiles = allFiles.sort((a, b) => {
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const indexA = Number(nameA);
|
|
55
|
-
const indexB = Number(nameB);
|
|
54
|
+
const indexA = a[3];
|
|
55
|
+
const indexB = b[3];
|
|
56
56
|
if (indexA > indexB) {
|
|
57
57
|
return 1;
|
|
58
58
|
}
|
|
@@ -5,7 +5,7 @@ const helpers_js_1 = require("../helpers.js");
|
|
|
5
5
|
const globals_js_1 = require("../globals.js");
|
|
6
6
|
const geometry_js_1 = require("./geometry.js");
|
|
7
7
|
const PinTypes_js_1 = require("../objects/PinTypes.js");
|
|
8
|
-
const
|
|
8
|
+
const errors_js_1 = require("../errors.js");
|
|
9
9
|
const types_js_1 = require("../objects/types.js");
|
|
10
10
|
const NumericValue_js_1 = require("../objects/NumericValue.js");
|
|
11
11
|
const PinDefinition_js_1 = require("../objects/PinDefinition.js");
|
|
@@ -54,6 +54,9 @@ class SymbolGraphic {
|
|
|
54
54
|
height: this.height
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
+
setStyles(styles) {
|
|
58
|
+
this.styles = styles;
|
|
59
|
+
}
|
|
57
60
|
size() {
|
|
58
61
|
return {
|
|
59
62
|
width: this.width.toNumber(),
|
|
@@ -85,7 +88,7 @@ class SymbolGraphic {
|
|
|
85
88
|
pinPosition(id) {
|
|
86
89
|
const pin = this.drawing.getPinPosition(id);
|
|
87
90
|
if (pin === null) {
|
|
88
|
-
throw new
|
|
91
|
+
throw new errors_js_1.RuntimeExecutionError(`Could not determine pin ${id} position`);
|
|
89
92
|
}
|
|
90
93
|
const [x, y] = pin.start;
|
|
91
94
|
const useX = (0, NumericValue_js_1.roundValue)(x);
|
|
@@ -151,7 +154,7 @@ class SymbolGraphic {
|
|
|
151
154
|
}
|
|
152
155
|
const isHorizontalLabel = finalLabelAngle === 0 || finalLabelAngle === 180;
|
|
153
156
|
const isVerticalLabel = finalLabelAngle === 90 || finalLabelAngle === -90;
|
|
154
|
-
if (useAnchor === geometry_js_1.HorizontalAlign.
|
|
157
|
+
if (useAnchor === geometry_js_1.HorizontalAlign.Center) {
|
|
155
158
|
anchorStyle = geometry_js_1.HorizontalAlignProp.Middle;
|
|
156
159
|
}
|
|
157
160
|
else if (useAnchor === geometry_js_1.HorizontalAlign.Left) {
|
|
@@ -160,7 +163,7 @@ class SymbolGraphic {
|
|
|
160
163
|
else if (useAnchor === geometry_js_1.HorizontalAlign.Right) {
|
|
161
164
|
anchorStyle = geometry_js_1.HorizontalAlignProp.End;
|
|
162
165
|
}
|
|
163
|
-
if (useDominantBaseline === geometry_js_1.VerticalAlign.
|
|
166
|
+
if (useDominantBaseline === geometry_js_1.VerticalAlign.Center) {
|
|
164
167
|
dominantBaseline = geometry_js_1.VerticalAlignProp.Central;
|
|
165
168
|
}
|
|
166
169
|
else if (useDominantBaseline === geometry_js_1.VerticalAlign.Top) {
|
|
@@ -328,7 +331,7 @@ class SymbolGraphic {
|
|
|
328
331
|
return geometry_js_1.HorizontalAlign.Left;
|
|
329
332
|
}
|
|
330
333
|
else {
|
|
331
|
-
return geometry_js_1.HorizontalAlign.
|
|
334
|
+
return geometry_js_1.HorizontalAlign.Center;
|
|
332
335
|
}
|
|
333
336
|
}
|
|
334
337
|
flipDominantBaseline(value) {
|
|
@@ -339,7 +342,7 @@ class SymbolGraphic {
|
|
|
339
342
|
return geometry_js_1.VerticalAlign.Top;
|
|
340
343
|
}
|
|
341
344
|
else {
|
|
342
|
-
return geometry_js_1.VerticalAlign.
|
|
345
|
+
return geometry_js_1.VerticalAlign.Center;
|
|
343
346
|
}
|
|
344
347
|
}
|
|
345
348
|
}
|
|
@@ -356,7 +359,7 @@ class SymbolText extends SymbolGraphic {
|
|
|
356
359
|
drawing.clear();
|
|
357
360
|
drawing.addTextbox((0, NumericValue_js_1.numeric)(0), (0, NumericValue_js_1.numeric)(0), this.text, {
|
|
358
361
|
fontSize: this.fontSize,
|
|
359
|
-
anchor: geometry_js_1.HorizontalAlign.
|
|
362
|
+
anchor: geometry_js_1.HorizontalAlign.Center,
|
|
360
363
|
fontWeight: this.fontWeight,
|
|
361
364
|
});
|
|
362
365
|
this.drawing = drawing;
|
|
@@ -371,16 +374,25 @@ class SymbolPlaceholder extends SymbolGraphic {
|
|
|
371
374
|
drawing.angle = this._angle;
|
|
372
375
|
drawing.flipX = this._flipX;
|
|
373
376
|
drawing.flipY = this._flipY;
|
|
377
|
+
const styles = this.styles ?? {
|
|
378
|
+
lineColor: globals_js_1.ColorScheme.PinLineColor,
|
|
379
|
+
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
380
|
+
lineWidth: globals_js_1.Defaults.LineWidth,
|
|
381
|
+
};
|
|
382
|
+
const defaultLineColor = styles.lineColor;
|
|
383
|
+
const defaultLineWidth = styles.lineWidth;
|
|
384
|
+
const defaultTextColor = styles.textColor;
|
|
374
385
|
const commands = [
|
|
375
386
|
[PlaceHolderCommands.units, ['mils'], {}],
|
|
376
|
-
[PlaceHolderCommands.lineColor, [
|
|
377
|
-
[PlaceHolderCommands.textColor, [
|
|
378
|
-
[PlaceHolderCommands.lineWidth, [
|
|
387
|
+
[PlaceHolderCommands.lineColor, [defaultLineColor], {}],
|
|
388
|
+
[PlaceHolderCommands.textColor, [defaultTextColor], {}],
|
|
389
|
+
[PlaceHolderCommands.lineWidth, [defaultLineWidth], {}],
|
|
390
|
+
[PlaceHolderCommands.fill, ['none']],
|
|
379
391
|
...drawing.getCommands()
|
|
380
392
|
];
|
|
381
393
|
drawing.log('id: ', drawing.id, 'angle: ', this._angle, "commands:", commands.length);
|
|
382
|
-
let lineColor =
|
|
383
|
-
let textColor =
|
|
394
|
+
let lineColor = defaultLineColor;
|
|
395
|
+
let textColor = defaultTextColor;
|
|
384
396
|
commands.forEach(([commandName, positionParams, keywordParams, ctx]) => {
|
|
385
397
|
positionParams = positionParams.map(param => {
|
|
386
398
|
return this.resolveReference(param);
|
|
@@ -457,7 +469,7 @@ class SymbolPlaceholder extends SymbolGraphic {
|
|
|
457
469
|
drawing.addLabelMils(...tmpPositionParams);
|
|
458
470
|
}
|
|
459
471
|
catch (err) {
|
|
460
|
-
(0,
|
|
472
|
+
(0, errors_js_1.throwWithContext)(ctx, err);
|
|
461
473
|
}
|
|
462
474
|
break;
|
|
463
475
|
}
|
|
@@ -635,7 +647,7 @@ class SymbolPlaceholder extends SymbolGraphic {
|
|
|
635
647
|
displayPinName && usePinName !== "" && drawing.addLabel(endX.add(pinNameOffsetX), endY.add(pinNameOffsetY), usePinName, {
|
|
636
648
|
fontSize: (0, NumericValue_js_1.numeric)(globals_js_1.defaultPinNameTextSize),
|
|
637
649
|
anchor: pinNameAlignment,
|
|
638
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
650
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
639
651
|
textColor: pinNameColor,
|
|
640
652
|
angle: (0, NumericValue_js_1.numeric)(usePinIdAngle)
|
|
641
653
|
});
|
|
@@ -653,6 +665,9 @@ class SymbolPlaceholder extends SymbolGraphic {
|
|
|
653
665
|
super();
|
|
654
666
|
this.drawing = drawing;
|
|
655
667
|
}
|
|
668
|
+
setStyles(styles) {
|
|
669
|
+
this.styles = styles;
|
|
670
|
+
}
|
|
656
671
|
}
|
|
657
672
|
exports.SymbolPlaceholder = SymbolPlaceholder;
|
|
658
673
|
var PlaceHolderCommands;
|
|
@@ -670,10 +685,10 @@ var PlaceHolderCommands;
|
|
|
670
685
|
PlaceHolderCommands["line"] = "line";
|
|
671
686
|
PlaceHolderCommands["label"] = "label";
|
|
672
687
|
PlaceHolderCommands["path"] = "path";
|
|
673
|
-
PlaceHolderCommands["lineWidth"] = "
|
|
688
|
+
PlaceHolderCommands["lineWidth"] = "line_width";
|
|
674
689
|
PlaceHolderCommands["fill"] = "fill";
|
|
675
|
-
PlaceHolderCommands["lineColor"] = "
|
|
676
|
-
PlaceHolderCommands["textColor"] = "
|
|
690
|
+
PlaceHolderCommands["lineColor"] = "line_color";
|
|
691
|
+
PlaceHolderCommands["textColor"] = "text_color";
|
|
677
692
|
PlaceHolderCommands["text"] = "text";
|
|
678
693
|
PlaceHolderCommands["units"] = "units";
|
|
679
694
|
PlaceHolderCommands["for"] = "for";
|
|
@@ -745,7 +760,7 @@ class SymbolCustom extends SymbolGraphic {
|
|
|
745
760
|
drawing.addLabel(leftPinStart.add((0, helpers_js_1.milsToMM)(20)), pinY, pin.text, {
|
|
746
761
|
fontSize: (0, NumericValue_js_1.numeric)(globals_js_1.CustomSymbolPinTextSize),
|
|
747
762
|
anchor: geometry_js_1.HorizontalAlign.Left,
|
|
748
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
763
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
749
764
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
750
765
|
});
|
|
751
766
|
drawing.addLabel(leftPinStart.sub((0, helpers_js_1.milsToMM)(10)), pinY.sub((0, helpers_js_1.milsToMM)(10)), pin.pinId.toString(), {
|
|
@@ -762,7 +777,7 @@ class SymbolCustom extends SymbolGraphic {
|
|
|
762
777
|
drawing.addLabel(rightPinStart.sub((0, helpers_js_1.milsToMM)(20)), pinY, pin.text, {
|
|
763
778
|
fontSize: (0, NumericValue_js_1.numeric)(globals_js_1.CustomSymbolPinTextSize),
|
|
764
779
|
anchor: geometry_js_1.HorizontalAlign.Right,
|
|
765
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
780
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
766
781
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
767
782
|
});
|
|
768
783
|
drawing.addLabel(rightPinStart.add((0, helpers_js_1.milsToMM)(10)), pinY.sub((0, helpers_js_1.milsToMM)(10)), pin.pinId.toString(), {
|
|
@@ -779,7 +794,7 @@ class SymbolCustom extends SymbolGraphic {
|
|
|
779
794
|
drawing.addLabel(pinX, topPinStart.add((0, helpers_js_1.milsToMM)(20)), pin.text, {
|
|
780
795
|
fontSize: (0, NumericValue_js_1.numeric)(globals_js_1.CustomSymbolPinTextSize),
|
|
781
796
|
anchor: geometry_js_1.HorizontalAlign.Right,
|
|
782
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
797
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
783
798
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
784
799
|
angle: (0, NumericValue_js_1.numeric)(-90),
|
|
785
800
|
});
|
|
@@ -798,7 +813,7 @@ class SymbolCustom extends SymbolGraphic {
|
|
|
798
813
|
drawing.addLabel(pinX, bottomPinStart.sub((0, helpers_js_1.milsToMM)(20)), pin.text, {
|
|
799
814
|
fontSize: (0, NumericValue_js_1.numeric)(globals_js_1.CustomSymbolPinTextSize),
|
|
800
815
|
anchor: geometry_js_1.HorizontalAlign.Left,
|
|
801
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
816
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
802
817
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
803
818
|
angle: (0, NumericValue_js_1.numeric)(-90),
|
|
804
819
|
});
|
|
@@ -885,7 +900,7 @@ class SymbolCustomModule extends SymbolCustom {
|
|
|
885
900
|
drawing.addLabel(leftPinStart.add(this.portWidth).add((0, helpers_js_1.milsToMM)(20)), pinY, pin.text, {
|
|
886
901
|
fontSize: (0, NumericValue_js_1.numeric)(40),
|
|
887
902
|
anchor: geometry_js_1.HorizontalAlign.Left,
|
|
888
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
903
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
889
904
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
890
905
|
});
|
|
891
906
|
});
|
|
@@ -897,7 +912,7 @@ class SymbolCustomModule extends SymbolCustom {
|
|
|
897
912
|
drawing.addLabel(rightPinStart.sub(this.portWidth).sub((0, helpers_js_1.milsToMM)(20)), pinY, pin.text, {
|
|
898
913
|
fontSize: (0, NumericValue_js_1.numeric)(40),
|
|
899
914
|
anchor: geometry_js_1.HorizontalAlign.Right,
|
|
900
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
915
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
901
916
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
902
917
|
});
|
|
903
918
|
});
|
|
@@ -909,7 +924,7 @@ class SymbolCustomModule extends SymbolCustom {
|
|
|
909
924
|
drawing.addLabel(pinX, topPinStart.add(this.portWidth).add((0, helpers_js_1.milsToMM)(20)), pin.text, {
|
|
910
925
|
fontSize: (0, NumericValue_js_1.numeric)(40),
|
|
911
926
|
anchor: geometry_js_1.HorizontalAlign.Right,
|
|
912
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
927
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
913
928
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
914
929
|
angle: (0, NumericValue_js_1.numeric)(-90),
|
|
915
930
|
});
|
|
@@ -922,7 +937,7 @@ class SymbolCustomModule extends SymbolCustom {
|
|
|
922
937
|
drawing.addLabel(pinX, bottomPinStart.sub(this.portWidth).sub((0, helpers_js_1.milsToMM)(20)), pin.text, {
|
|
923
938
|
fontSize: (0, NumericValue_js_1.numeric)(40),
|
|
924
939
|
anchor: geometry_js_1.HorizontalAlign.Left,
|
|
925
|
-
vanchor: geometry_js_1.VerticalAlign.
|
|
940
|
+
vanchor: geometry_js_1.VerticalAlign.Center,
|
|
926
941
|
textColor: globals_js_1.ColorScheme.PinNameColor,
|
|
927
942
|
angle: (0, NumericValue_js_1.numeric)(-90),
|
|
928
943
|
});
|
|
@@ -465,7 +465,7 @@ function labelPolygonForAnchors(x, y, width, height, hAnchor, vAnchor) {
|
|
|
465
465
|
[1, 1],
|
|
466
466
|
];
|
|
467
467
|
}
|
|
468
|
-
else if (vAnchor === VerticalAlign.
|
|
468
|
+
else if (vAnchor === VerticalAlign.Center) {
|
|
469
469
|
coordVectors = [
|
|
470
470
|
[0, -0.5],
|
|
471
471
|
[0, 0.5],
|
|
@@ -491,7 +491,7 @@ function labelPolygonForAnchors(x, y, width, height, hAnchor, vAnchor) {
|
|
|
491
491
|
[0, -1],
|
|
492
492
|
];
|
|
493
493
|
}
|
|
494
|
-
else if (vAnchor === VerticalAlign.
|
|
494
|
+
else if (vAnchor === VerticalAlign.Center) {
|
|
495
495
|
coordVectors = [
|
|
496
496
|
[0, -0.5],
|
|
497
497
|
[0, 0.5],
|
|
@@ -508,7 +508,7 @@ function labelPolygonForAnchors(x, y, width, height, hAnchor, vAnchor) {
|
|
|
508
508
|
];
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
|
-
else if (hAnchor === HorizontalAlign.
|
|
511
|
+
else if (hAnchor === HorizontalAlign.Center) {
|
|
512
512
|
if (vAnchor === VerticalAlign.Bottom) {
|
|
513
513
|
coordVectors = [
|
|
514
514
|
[-0.5, 0],
|
|
@@ -517,7 +517,7 @@ function labelPolygonForAnchors(x, y, width, height, hAnchor, vAnchor) {
|
|
|
517
517
|
[0.5, 0]
|
|
518
518
|
];
|
|
519
519
|
}
|
|
520
|
-
else if (vAnchor === VerticalAlign.
|
|
520
|
+
else if (vAnchor === VerticalAlign.Center) {
|
|
521
521
|
coordVectors = [
|
|
522
522
|
[-0.5, 0.5],
|
|
523
523
|
[-0.5, -0.5],
|
|
@@ -544,13 +544,13 @@ function labelPolygonForAnchors(x, y, width, height, hAnchor, vAnchor) {
|
|
|
544
544
|
var HorizontalAlign;
|
|
545
545
|
(function (HorizontalAlign) {
|
|
546
546
|
HorizontalAlign["Left"] = "left";
|
|
547
|
-
HorizontalAlign["
|
|
547
|
+
HorizontalAlign["Center"] = "center";
|
|
548
548
|
HorizontalAlign["Right"] = "right";
|
|
549
549
|
})(HorizontalAlign || (exports.HorizontalAlign = HorizontalAlign = {}));
|
|
550
550
|
var VerticalAlign;
|
|
551
551
|
(function (VerticalAlign) {
|
|
552
552
|
VerticalAlign["Top"] = "top";
|
|
553
|
-
VerticalAlign["
|
|
553
|
+
VerticalAlign["Center"] = "center";
|
|
554
554
|
VerticalAlign["Bottom"] = "bottom";
|
|
555
555
|
})(VerticalAlign || (exports.VerticalAlign = VerticalAlign = {}));
|
|
556
556
|
var HorizontalAlignProp;
|
package/dist/cjs/render/graph.js
CHANGED
|
@@ -39,6 +39,9 @@ class NetGraph {
|
|
|
39
39
|
constructor(logger) {
|
|
40
40
|
this.logger = logger;
|
|
41
41
|
}
|
|
42
|
+
setStyles(styles) {
|
|
43
|
+
this.styles = styles;
|
|
44
|
+
}
|
|
42
45
|
generateLayoutGraph(sequence, nets) {
|
|
43
46
|
this.print('===== creating graph and populating with nodes =====');
|
|
44
47
|
let previousNode = null;
|
|
@@ -72,6 +75,7 @@ class NetGraph {
|
|
|
72
75
|
let tmpSymbol;
|
|
73
76
|
if (displayProp instanceof draw_symbols_js_1.SymbolDrawing) {
|
|
74
77
|
tmpSymbol = new draw_symbols_js_1.SymbolPlaceholder(displayProp);
|
|
78
|
+
tmpSymbol.setStyles(this.styles);
|
|
75
79
|
tmpSymbol.drawing.logger = this.logger;
|
|
76
80
|
}
|
|
77
81
|
else {
|