import {LyricsEntry} from "../VoiceData/Lyrics/LyricsEntry"; import {GraphicalLyricWord} from "./GraphicalLyricWord"; import {GraphicalLabel} from "./GraphicalLabel"; import {GraphicalStaffEntry} from "./GraphicalStaffEntry"; import {Label} from "../Label"; import {TextAlignment} from "../../Common/Enums/TextAlignment"; import {PointF2D} from "../../Common/DataObjects/PointF2D"; export class GraphicalLyricEntry { private lyricsEntry: LyricsEntry; private graphicalLyricWord: GraphicalLyricWord; private graphicalLabel: GraphicalLabel; private graphicalStaffEntry: GraphicalStaffEntry; constructor(lyricsEntry: LyricsEntry, graphicalStaffEntry: GraphicalStaffEntry, lyricsHeight: number, staffHeight: number) { this.lyricsEntry = lyricsEntry; this.graphicalStaffEntry = graphicalStaffEntry; this.graphicalLabel = new GraphicalLabel( new Label(lyricsEntry.Text), lyricsHeight, TextAlignment.CenterBottom, graphicalStaffEntry.PositionAndShape ); this.graphicalLabel.PositionAndShape.RelativePosition = new PointF2D(0.0, staffHeight); } public get GetLyricsEntry(): LyricsEntry { return this.lyricsEntry; } public get ParentLyricWord(): GraphicalLyricWord { return this.graphicalLyricWord; } public set ParentLyricWord(value: GraphicalLyricWord) { this.graphicalLyricWord = value; } public get GraphicalLabel(): GraphicalLabel { return this.graphicalLabel; } public set GraphicalLabel(value: GraphicalLabel) { this.graphicalLabel = value; } public get StaffEntryParent(): GraphicalStaffEntry { return this.graphicalStaffEntry; } public set StaffEntryParent(value: GraphicalStaffEntry) { this.graphicalStaffEntry = value; } }