Esempio n. 1
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            float r;

            TopBaseRatio = float.TryParse(e.XmlReader.GetAttribute(ReflectionHelper.GetPropertyName((RightTrapezoid t) => t.TopBaseRatio)), out r) ? r : 0.75f;
        }
Esempio n. 2
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            var    reader          = e.XmlReader;
            string strokeThickness = reader.GetAttribute("StrokeThickness");

            StrokeThickness = string.IsNullOrEmpty(strokeThickness) ? 0 : float.Parse(strokeThickness, CultureInfo.InvariantCulture);

            string sFill   = reader.GetAttribute("Fill");
            string sStroke = reader.GetAttribute("Stroke");

            if (!string.IsNullOrEmpty(sFill))
            {
                fillBrushClass = TextHelper.ParseResource(sFill);
            }
            if (!string.IsNullOrEmpty(sStroke))
            {
                strokeBrushClass = TextHelper.ParseResource(sStroke);
            }

            if (!reader.IsEmptyElement)
            {
                reader.ReadEndElement();
            }
        }
Esempio n. 3
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            var reader = e.XmlReader;

            reader.ReadStartElement();
            while (reader.IsStartElement("GradientStop"))
            {
                Color4 color;
                string colorValue      = reader.GetAttribute("Color");
                string colorAsResource = Text.TextHelper.ParseResource(colorValue);
                if (!string.IsNullOrEmpty(colorAsResource))
                {
                    color = e.ResourceProvider.GetResource <SolidColor>(colorAsResource).Color;
                }
                else
                {
                    color = string.IsNullOrEmpty(colorValue) ? new Color4(0, 0, 0, 0) : Text.TextHelper.DecodeColor4Abgr(colorValue);
                }

                string offset       = reader.GetAttribute("Offset");
                var    gradientStop = new GradientStop
                {
                    Color  = color,
                    Offset = string.IsNullOrEmpty(offset) ? 0 : float.Parse(offset, CultureInfo.InvariantCulture)
                };
                reader.ReadStartElement();
                GradientStops.Add(gradientStop);
            }

            reader.ReadEndElement();
        }
Esempio n. 4
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string value = e.XmlReader.GetAttribute("Value");

            Value = Text.TextHelper.DecodeVector3(value);
            e.XmlReader.ReadStartElement();
        }
Esempio n. 5
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            var    reader     = e.XmlReader;
            string colorValue = reader.GetAttribute("Color");

            Color = Text.TextHelper.DecodeColor4Abgr(colorValue);
            reader.ReadStartElement();
        }
Esempio n. 6
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string value = e.XmlReader.GetAttribute("Value");

            Value = bool.Parse(value);

            e.XmlReader.ReadStartElement();
        }
Esempio n. 7
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string value = e.XmlReader.GetAttribute("Value");

            Value = float.Parse(value, CultureInfo.InvariantCulture);

            e.XmlReader.ReadStartElement();
        }
Esempio n. 8
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            var    reader = e.XmlReader;
            string sStart = reader.GetAttribute("StartPoint");
            string sEnd   = reader.GetAttribute("EndPoint");

            StartPoint = string.IsNullOrEmpty(sStart) ? Vector2.Zero : Text.TextHelper.DecodeFloatVector2(sStart);
            EndPoint   = string.IsNullOrEmpty(sEnd) ? Vector2.Zero : Text.TextHelper.DecodeFloatVector2(sEnd);
            base.OnReadXml(e);
        }
Esempio n. 9
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            var    reader   = e.XmlReader;
            string sStart   = reader.GetAttribute("Center");
            string sEnd     = reader.GetAttribute("OriginOffset");
            string sRadiusX = reader.GetAttribute("RadiusX");
            string sRadiusY = reader.GetAttribute("RadiusY");

            Center       = string.IsNullOrEmpty(sStart) ? Vector2.Zero : Text.TextHelper.DecodeFloatVector2(sStart);
            OriginOffset = string.IsNullOrEmpty(sEnd) ? Vector2.Zero : Text.TextHelper.DecodeFloatVector2(sEnd);
            RadiusX      = string.IsNullOrEmpty(sRadiusX) ? 0 : float.Parse(sRadiusX, CultureInfo.InvariantCulture);
            RadiusY      = string.IsNullOrEmpty(sRadiusY) ? 0 : float.Parse(sRadiusY, CultureInfo.InvariantCulture);
            base.OnReadXml(e);
        }
Esempio n. 10
0
        protected virtual void OnReadXml(XmlDeserializationEventArgs e)
        {
            var reader = e.XmlReader;

            Name = reader.GetAttribute("Name");

            string sPosition = reader.GetAttribute("Position");

            Position = string.IsNullOrEmpty(sPosition) ? Vector3.Zero : Text.TextHelper.DecodeVector3(sPosition);

            string sWidth  = reader.GetAttribute("Width");
            string sHeight = reader.GetAttribute("Height");

            Width  = string.IsNullOrEmpty(sWidth) ? 0 : float.Parse(sWidth, CultureInfo.InvariantCulture);
            Height = string.IsNullOrEmpty(sHeight) ? 0 : float.Parse(sHeight, CultureInfo.InvariantCulture);
        }
Esempio n. 11
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string value        = e.XmlReader.GetAttribute("Value");
            string resourceName = Text.TextHelper.ParseResource(value);

            if (!string.IsNullOrEmpty(resourceName))
            {
                Value = e.ResourceProvider.GetResource <SolidColor>(resourceName).Color;
            }
            else
            {
                Value = Text.TextHelper.DecodeColor4Abgr(value);
            }

            e.XmlReader.ReadStartElement();
        }
Esempio n. 12
0
        protected virtual void OnReadXml(XmlDeserializationEventArgs e)
        {
            var reader = e.XmlReader;

            Name = reader.GetAttribute(ReflectionHelper.GetPropertyName((ColorResource c) => c.Name));
            var sShared = reader.GetAttribute(ReflectionHelper.GetPropertyName((ColorResource c) => c.Shared));

            shared = string.IsNullOrEmpty(sShared) || bool.Parse(sShared);

            string sOpacity = reader.GetAttribute("Opacity");

            Opacity = string.IsNullOrEmpty(sOpacity) ? 1 : float.Parse(sOpacity, CultureInfo.InvariantCulture);

            if (string.IsNullOrEmpty(Name))
            {
                IXmlLineInfo xmlInfo = (IXmlLineInfo)reader;
                throw new InvalidOperationException(string.Format("({0},{1}) 'Name' cannot be null", xmlInfo.LineNumber, xmlInfo.LinePosition));
            }

            // Derived classes will read the other properties
        }
Esempio n. 13
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string value = e.XmlReader.GetAttribute("Value");

            const string pattern  = @"(?<notation>[QE]+)\s*(?<values>[0-9.,\s]*)";
            Regex        regex    = new Regex(pattern);
            var          matches  = regex.Match(value);
            char         notation = matches.Groups["notation"].Value[0];

            string[] values = matches.Groups["values"].Value.Split(',');

            Quaternion result;

            float[] qValues = (from s in values select float.Parse(s, CultureInfo.InvariantCulture)).ToArray();
            if (notation == 'E')
            {
                if (values.Length != 3)
                {
                    throw new InvalidOperationException(string.Format("Euler values are not in the correct format: {0}", value));
                }

                result = Quaternion.RotationYawPitchRoll(MathHelper.DegreesToRadians(qValues[0]), MathHelper.DegreesToRadians(qValues[1]),
                                                         MathHelper.DegreesToRadians(qValues[2]));
            }
            else if (notation == 'Q')
            {
                if (values.Length != 4)
                {
                    throw new InvalidOperationException(string.Format("Quaternion values are not in the correct format: {0}", value));
                }
                result = new Quaternion(qValues);
            }
            else
            {
                throw new InvalidOperationException(string.Format("Notation '{0}' not recognized", notation));
            }
            e.XmlReader.ReadStartElement();
            Value = result;
        }
Esempio n. 14
0
        protected override void OnReadXml(XmlDeserializationEventArgs e)
        {
            base.OnReadXml(e);
            string figureData = e.XmlReader.GetAttribute(ReflectionHelper.GetPropertyName((Path p) => p.Data));

            if (string.IsNullOrEmpty(figureData))
            {
                return;
            }
            string figureId = TextHelper.ParseResource(figureData);

            if (e.Theme.ContainsResource(figureId))
            {
                var figure = e.Theme.GetResource <Figure>(figureId);
                Data   = figure.Data;
                ScaleX = figure.ScaleTransformX;
                ScaleY = figure.ScaleTransformY;
            }
            else
            {
                Data = VectorArtParser.ParsePathData(figureData);
            }
        }
Esempio n. 15
0
        protected virtual void OnReadXml(XmlDeserializationEventArgs e)
        {
            string sTime = e.XmlReader.GetAttribute("Time");

            Time = float.Parse(sTime);
        }