VexFlowContinuousDynamicExpression.ts 1.4 KB

123456789101112131415161718192021222324252627
  1. import { GraphicalContinuousDynamicExpression } from "../GraphicalContinuousDynamicExpression";
  2. import { ContinuousDynamicExpression } from "../../VoiceData/Expressions/ContinuousExpressions/ContinuousDynamicExpression";
  3. import { StaffLine } from "../StaffLine";
  4. import { GraphicalLabel } from "../GraphicalLabel";
  5. import { Label } from "../../Label";
  6. import { TextAlignmentEnum } from "../../../Common/Enums/TextAlignment";
  7. import { FontStyles } from "../../../Common/Enums/FontStyles";
  8. /**
  9. * This class extends the GraphicalContinuousDynamicExpression and creates all necessary methods for drawing
  10. */
  11. export class VexFlowContinuousDynamicExpression extends GraphicalContinuousDynamicExpression {
  12. constructor(continuousDynamic: ContinuousDynamicExpression, staffLine: StaffLine, textHeight?: number) {
  13. super(continuousDynamic, staffLine);
  14. if (this.IsVerbal) {
  15. this.label = new GraphicalLabel(new Label(continuousDynamic.Label),
  16. textHeight ? textHeight : this.rules.ContinuousDynamicTextHeight,
  17. TextAlignmentEnum.LeftCenter,
  18. this.rules,
  19. this.PositionAndShape);
  20. this.label.Label.fontStyle = FontStyles.Italic;
  21. this.label.setLabelPositionAndShapeBorders();
  22. this.PositionAndShape.calculateBoundingBox();
  23. }
  24. }
  25. }