コード例 #1
0
 public ScoreLayoutAlgorithm(
     StavesMetrics metrics,
     StaffLinesLayoutAlgorithm staffLinesLayout,
     LedgerLinesComputation ledgerLinesComputation,
     BeatGroupLayoutAlgorithm beatGroupLayoutAlgorithm,
     BeatGroupSpanComputation beatGroupSpanComputation,
     HorizontalLayoutAlgorithm horizontalLayout,
     VerticalLayoutAlgorithm verticalLayout,
     StemsLayoutAlgorithm stemsLayout)
 {
     Metrics                  = metrics;
     StaffLinesLayout         = staffLinesLayout;
     LedgerLinesComputation   = ledgerLinesComputation;
     VerticalLayout           = verticalLayout;
     StemsLayout              = stemsLayout;
     BeatGroupLayoutAlgorithm = beatGroupLayoutAlgorithm;
     BeatGroupSpanComputation = beatGroupSpanComputation;
     HorizontalLayout         = horizontalLayout;
 }
コード例 #2
0
        ScoreLayoutAlgorithm CreateLayoutEngine(StavesMetrics metrics)
        {
            var staffLinesGeometryBuilder = new StaffLinesLayoutAlgorithm();
            var ledgerLinesComputation    = new LedgerLinesComputation();
            var beatGroupLayoutAlgorithm  = new BeatGroupLayoutAlgorithm();
            var beatGroupSpanComputation  = new BeatGroupSpanComputation(metrics);
            var horizontalLayout          = new HorizontalLayoutAlgorithm(metrics);
            var verticalLayout            = new VerticalLayoutAlgorithm(metrics);
            var stemLayout = new StemsLayoutAlgorithm(metrics, verticalLayout);

            return(new ScoreLayoutAlgorithm(
                       metrics,
                       staffLinesGeometryBuilder,
                       ledgerLinesComputation,
                       beatGroupLayoutAlgorithm,
                       beatGroupSpanComputation,
                       horizontalLayout,
                       verticalLayout,
                       stemLayout));
        }