public override void DrawArc(Rectangle rect, double startAngle, double sweepAngle, Pen pen, MusicalSymbol owner)
        {
            var entry = new ScoreRenderingTestEntry();

            entry.Location = GetTopLeftPoint(new Point(rect.X, rect.Y), new Point(rect.X + rect.Width, rect.Y + rect.Height));
            entry.Size     = GetSize(new Point(rect.X, rect.Y), new Point(rect.X + rect.Width, rect.Y + rect.Height));
            SetIndexes(entry, owner);
            Canvas.Put(entry);
        }
        public override void DrawString(string text, MusicFontStyles fontStyle, Point location, Color color, MusicalSymbol owner)
        {
            var entry = new ScoreRenderingTestEntry();

            entry.Location = location;
            entry.Text     = text;
            entry.Type     = owner.GetType().Name;
            SetIndexes(entry, owner);
            Canvas.Put(entry);
        }
        public override void DrawLine(Point startPoint, Point endPoint, Pen pen, MusicalSymbol owner)
        {
            var entry = new ScoreRenderingTestEntry();

            entry.Location = GetTopLeftPoint(startPoint, endPoint);
            entry.Size     = GetSize(startPoint, endPoint);
            entry.Type     = owner.GetType().Name;
            SetIndexes(entry, owner);
            Canvas.Put(entry);
        }
        public override void DrawBezier(Point p1, Point p2, Point p3, Point p4, Pen pen, MusicalSymbol owner)
        {
            var entry = new ScoreRenderingTestEntry();

            entry.Location = GetTopLeftPoint(p1, p2, p3, p4);
            entry.Size     = GetSize(p1, p2, p3, p4);
            entry.Type     = owner.GetType().Name;
            SetIndexes(entry, owner);
            Canvas.Put(entry);
        }
        private void SetIndexes(ScoreRenderingTestEntry entry, MusicalSymbol symbol)
        {
            entry.Type = symbol.GetType().Name;
            var matchingStaff = CurrentScore.Staves.FirstOrDefault(s => s.Elements.Contains(symbol));

            if (matchingStaff == null)
            {
                return;
            }
            entry.StaffNo    = CurrentScore.Staves.IndexOf(matchingStaff) + 1;
            entry.StaffIndex = CurrentScore.Staves[entry.StaffNo - 1].Elements.IndexOf(symbol);
        }
Exemple #6
0
        public void Load(string fileName)
        {
            var document = XDocument.Load(Path.Combine(dataPath, fileName));

            elements.Clear();
            foreach (var resultNode in document.Descendants().Where(d => d.Name == "Result"))
            {
                var entry = new ScoreRenderingTestEntry();
                var x     = resultNode.Elements().FirstOrDefault(d => d.Name == "LocationX");
                var y     = resultNode.Elements().FirstOrDefault(d => d.Name == "LocationY");
                if (x != null && y != null)
                {
                    entry.Location = new Point(double.Parse(x.Value, CultureInfo.InvariantCulture), double.Parse(y.Value, CultureInfo.InvariantCulture));
                }
                x = resultNode.Elements().FirstOrDefault(d => d.Name == "SizeX");
                y = resultNode.Elements().FirstOrDefault(d => d.Name == "SizeY");
                if (x != null && y != null)
                {
                    entry.Size = new Point(double.Parse(x.Value, CultureInfo.InvariantCulture), double.Parse(y.Value, CultureInfo.InvariantCulture));
                }
                x = resultNode.Elements().FirstOrDefault(d => d.Name == "Type");
                if (x != null)
                {
                    entry.Type = x.Value;
                }
                x = resultNode.Elements().FirstOrDefault(d => d.Name == "StaffNo");
                if (x != null)
                {
                    entry.StaffNo = int.Parse(x.Value);
                }
                x = resultNode.Elements().FirstOrDefault(d => d.Name == "StaffIndex");
                if (x != null)
                {
                    entry.StaffIndex = int.Parse(x.Value);
                }
                x = resultNode.Elements().FirstOrDefault(d => d.Name == "Text");
                if (x != null)
                {
                    entry.Text = x.Value;
                }
                elements.Add(entry);
            }
        }
Exemple #7
0
 public void Put(ScoreRenderingTestEntry entry)
 {
     elements.Add(entry);
 }