import { GraphicalInstantaneousDynamicExpression } from "../GraphicalInstantaneousDynamicExpression" ; import { InstantaneousDynamicExpression , DynamicEnum } from "../../VoiceData/Expressions/InstantaneousDynamicExpression" ; import { GraphicalLabel } from "../GraphicalLabel" ; import { Label } from "../../Label" ; import { TextAlignmentEnum } from "../../../Common/Enums/TextAlignment" ; import { FontStyles } from "../../../Common/Enums/FontStyles" ; import { StaffLine } from "../StaffLine" ; import { GraphicalMeasure } from "../GraphicalMeasure" ; export class VexFlowInstantaneousDynamicExpression extends GraphicalInstantaneousDynamicExpression { constructor ( instantaneousDynamicExpression , staffLine , measure ) { super ( instantaneousDynamicExpression , staffLine , measure ) ; const sourceLabel = new Label ( this . Expression ) ; this . label = new GraphicalLabel ( sourceLabel , this . rules . ContinuousDynamicTextHeight , TextAlignmentEnum . CenterCenter , this . rules , this . PositionAndShape ) ; this . label . Label . fontStyle = FontStyles . BoldItalic ; this . label . setLabelPositionAndShapeBorders ( ) ; this . PositionAndShape . calculateBoundingBox ( ) ; } get InstantaneousDynamic ( ) : InstantaneousDynamicExpression { return this . mInstantaneousDynamicExpression ; } get Expression ( ) : string { return DynamicEnum [ this . mInstantaneousDynamicExpression . DynEnum ] ; } }