コード例 #1
0
        public override sealed void Read(XmlReader xmlReader)
        {
            if (null == xmlReader)
            {
                throw new ArgumentNullException("xmlReader");
            }

            using (xmlReader)
            {
                if (xmlReader.IsStartElement() && xmlReader.Name == "fretlabel")
                {
                    Text = xmlReader.GetAttribute("text");

                    FretLabelSide side = (FretLabelSide)Enum.Parse(typeof(FretLabelSide), xmlReader.GetAttribute("side"));
                    int           fret = int.Parse(xmlReader.GetAttribute("fret"));

                    Position = new FretLabelPosition(side, fret);

                    while (xmlReader.Read())
                    {
                        if (xmlReader.IsStartElement() && xmlReader.Name == "style")
                        {
                            Style.Read(xmlReader.ReadSubtree());
                        }
                    }
                }
            }
        }
コード例 #2
0
        public bool HasVisibleFretLabels(FretLabelSide side)
        {
            foreach (DiagramFretLabel fretLabel in FretLabels)
            {
                if (fretLabel.IsVisible() && fretLabel.Position.Side == side)
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #3
0
        public static string GetFriendlyValue(FretLabelSide value)
        {
            switch (value)
            {
            case FretLabelSide.Left:
                return(Strings.FretLabelSideLeftFriendlyValue);

            case FretLabelSide.Right:
                return(Strings.FretLabelSideRightFriendlyValue);
            }

            return(GetFriendlyValue((object)value));
        }
コード例 #4
0
        public double MaxFretLabelWidth(FretLabelSide side)
        {
            double maxWidth = 0;

            foreach (DiagramFretLabel fretLabel in FretLabels)
            {
                if (fretLabel.IsVisible() && fretLabel.Position.Side == side)
                {
                    double width = fretLabel.Style.FretLabelGridPadding + fretLabel.GetTextWidth();
                    if (width > maxWidth)
                    {
                        maxWidth = width;
                    }
                }
            }

            return(maxWidth);
        }
コード例 #5
0
 public FretLabelPosition(FretLabelSide side, int fret)
 {
     Side = side;
     Fret = fret;
 }