Skip to content

Commit 7f18d8f

Browse files
authored
Print Settings (#486)
* Respect current settings for printing and allow specifying additional ones * Update jquery method
1 parent e9857be commit 7f18d8f

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/platform/javascript/AlphaTabApi.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { AlphaSynthWebWorkerApi } from '@src/platform/javascript/AlphaSynthWebWo
99
import { BrowserUiFacade } from '@src/platform/javascript/BrowserUiFacade';
1010
import { ProgressEventArgs } from '@src/ProgressEventArgs';
1111
import { Settings } from '@src/Settings';
12+
import { JsonConverter } from '@src/model/JsonConverter';
13+
import { SettingsSerializer } from '@src/generated/SettingsSerializer';
1214

1315
/**
1416
* @target web
@@ -23,7 +25,7 @@ export class AlphaTabApi extends AlphaTabApiBase<unknown> {
2325
super.tex(tex, browser.parseTracks(tracks));
2426
}
2527

26-
public print(width: string): void {
28+
public print(width: string, additionalSettings:unknown = null): void {
2729
// prepare a popup window for printing (a4 width, window height, centered)
2830
let preview: Window = window.open('', '', 'width=0,height=0')!;
2931
let a4: HTMLElement = preview.document.createElement('div');
@@ -64,14 +66,12 @@ export class AlphaTabApi extends AlphaTabApiBase<unknown> {
6466
preview.moveTo(left, top);
6567
preview.focus();
6668
// render alphaTab
67-
let settings: Settings = new Settings();
68-
settings.core.scriptFile = this.settings.core.scriptFile;
69-
settings.core.fontDirectory = this.settings.core.fontDirectory;
69+
let settings: Settings = JsonConverter.jsObjectToSettings(JsonConverter.settingsToJsObject(this.settings));
7070
settings.core.enableLazyLoading = false;
7171
settings.core.useWorkers = false;
7272
settings.display.scale = 0.8;
7373
settings.display.stretchForce = 0.8;
74-
settings.display.resources = this.settings.display.resources;
74+
SettingsSerializer.fromJson(settings, additionalSettings);
7575
let alphaTab: AlphaTabApi = new AlphaTabApi(a4, settings);
7676
alphaTab.renderer.postRenderFinished.on(() => {
7777
alphaTab.canvasElement.height = -1;

src/platform/javascript/JQueryAlphaTab.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ export class JQueryAlphaTab {
7272
context.destroy();
7373
}
7474

75-
public print(element: jQuery, context: AlphaTabApi, width: string): void {
76-
context.print(width);
75+
public print(element: jQuery, context: AlphaTabApi, width: string, additionalSettings?: unknown): void {
76+
context.print(width, additionalSettings);
7777
}
7878

7979
public load(element: jQuery, context: AlphaTabApi, data: unknown, tracks?: number[]): boolean {

0 commit comments

Comments
 (0)