Exemplo n.º 1
0
        public BeamSlope GetBeamSlope(IBeatElement beatElement)
        {
            var beam = beatElement?.OwnerBeam;

            if (beam == null)
            {
                return(null);
            }

            while (beam.OwnerBeam != null)
            {
                beam = beam.OwnerBeam;
            }

            BeamSlope slope;

            return(_beamSlopes.TryGetValue(beam, out slope) ? slope : null);
        }
Exemplo n.º 2
0
        public static IBeatElementRenderer Create(ElementRenderer owner, IBeatElement element)
        {
            var beat = element as Beat;

            if (beat != null)
            {
                return(new BeatRenderer(owner, beat));
            }

            var beam = element as Beam;

            if (beam != null)
            {
                return(new BeamRenderer(owner, beam));
            }

            throw new InvalidOperationException();
        }