Skip to content

Commit

Permalink
feat(Options): able to set ledger line width and style (color) in Eng…
Browse files Browse the repository at this point in the history
…ravingRules.
  • Loading branch information
sschmid committed Jun 9, 2020
1 parent 270ffef commit f4c2fc3
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/MusicalScore/Graphical/EngravingRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ export class EngravingRules {
private continuousTempoTextHeight: number;
private staffLineWidth: number;
private ledgerLineWidth: number;
private ledgerLineStrokeStyle: string;
private wedgeLineWidth: number;
private tupletLineWidth: number;
private lyricUnderscoreLineWidth: number;
Expand Down Expand Up @@ -403,7 +404,8 @@ export class EngravingRules {

// Line Widths
this.staffLineWidth = 0.12;
this.ledgerLineWidth = 0.12;
this.ledgerLineWidth = undefined; // if not undefined, the vexflow default will be overwritten
this.ledgerLineStrokeStyle = undefined; // if not undefined, the vexflow default will be overwritten
this.wedgeLineWidth = 0.12;
this.tupletLineWidth = 0.12;
this.lyricUnderscoreLineWidth = 0.12;
Expand Down Expand Up @@ -1279,6 +1281,12 @@ export class EngravingRules {
public set LedgerLineWidth(value: number) {
this.ledgerLineWidth = value;
}
public get LedgerLineStrokeStyle(): string {
return this.ledgerLineStrokeStyle;
}
public set LedgerLineStrokeStyle(value: string) {
this.ledgerLineStrokeStyle = value;
}
public get WedgeLineWidth(): number {
return this.wedgeLineWidth;
}
Expand Down
11 changes: 11 additions & 0 deletions src/MusicalScore/Graphical/VexFlow/VexFlowConverter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,17 @@ export class VexFlowConverter {
} else {
vfnote = new Vex.Flow.StaveNote(vfnoteStruct);
}
if (rules.LedgerLineWidth || rules.LedgerLineStrokeStyle) {
if (!((vfnote as any).ledgerLineStyle)) {
(vfnote as any).ledgerLineStyle = {};
}
if (rules.LedgerLineWidth) {
(vfnote as any).ledgerLineStyle.lineWidth = rules.LedgerLineWidth;
}
if (rules.LedgerLineStrokeStyle) {
(vfnote as any).ledgerLineStyle.strokeStyle = rules.LedgerLineStrokeStyle;
}
}

if (rules.ColoringEnabled) {
const defaultColorStem: string = rules.DefaultColorStem;
Expand Down

0 comments on commit f4c2fc3

Please sign in to comment.