1234567891011121314151617181920212223242526272829303132333435 |
- import {Label} from "../Label";
- import {GraphicalLabel} from "./GraphicalLabel";
- import {ChordSymbolContainer} from "../VoiceData/ChordSymbolContainer";
- import {BoundingBox} from "./BoundingBox";
- import {GraphicalObject} from "./GraphicalObject";
- import {PointF2D} from "../../Common/DataObjects/PointF2D";
- import {EngravingRules} from "./EngravingRules";
- import { KeyInstruction } from "../VoiceData/Instructions/KeyInstruction";
- export class GraphicalChordSymbolContainer extends GraphicalObject {
- private chordSymbolContainer: ChordSymbolContainer;
- private graphicalLabel: GraphicalLabel;
- private rules: EngravingRules;
- constructor(chordSymbolContainer: ChordSymbolContainer, parent: BoundingBox, textHeight: number,
- keyInstruction: KeyInstruction, transposeHalftones: number, rules: EngravingRules) {
- super();
- this.chordSymbolContainer = chordSymbolContainer;
- this.boundingBox = new BoundingBox(this, parent);
- this.rules = rules;
- this.calculateLabel(textHeight, transposeHalftones, keyInstruction);
- }
- public get GetChordSymbolContainer(): ChordSymbolContainer {
- return this.chordSymbolContainer;
- }
- public get GraphicalLabel(): GraphicalLabel {
- return this.graphicalLabel;
- }
- private calculateLabel(textHeight: number, transposeHalftones: number, keyInstruction: KeyInstruction): void {
- const text: string = ChordSymbolContainer.calculateChordText(this.chordSymbolContainer, transposeHalftones, keyInstruction);
- this.graphicalLabel = new GraphicalLabel(new Label(text), textHeight, this.rules.ChordSymbolTextAlignment, this.rules, this.boundingBox);
- this.graphicalLabel.PositionAndShape.RelativePosition = new PointF2D(this.rules.ChordSymbolRelativeXOffset, 0.0);
- this.graphicalLabel.Label.colorDefault = this.rules.DefaultColorChordSymbol;
- }
- }
|