예제 #1
0
        //==========================================================================
        public SvgPatternElement(SvgDocument document, SvgBaseElement parent, XElement patternElement)
            : base(document, parent, patternElement)
        {
            XAttribute pattern_transform_attribute = patternElement.Attribute("patternTransform");
              if(pattern_transform_attribute != null)
            PatternTransform = SvgTransform.Parse(pattern_transform_attribute.Value);

              XAttribute pattern_units_attribute = patternElement.Attribute("patternUnits");
              if(pattern_units_attribute != null)
            switch(pattern_units_attribute.Value)
            {
              case "objectBoundingBox":
            PatternUnits = SvgPatternUnits.ObjectBoundingBox;
            break;

              case "userSpaceOnUse":
            PatternUnits = SvgPatternUnits.UserSpaceOnUse;
            break;

              default:
            throw new NotImplementedException(String.Format("patternUnits value '{0}' is no supported", pattern_units_attribute.Value));
            }

              XAttribute width_attribute = patternElement.Attribute("width");
              if(width_attribute != null)
            Width = SvgLength.Parse(width_attribute.Value);

              XAttribute height_attribute = patternElement.Attribute("height");
              if(height_attribute != null)
            Height = SvgLength.Parse(height_attribute.Value);
        }
예제 #2
0
        //==========================================================================
        public SvgPatternElement(SvgDocument document, SvgBaseElement parent, XElement patternElement)
            : base(document, parent, patternElement)
        {
            var pattern_transform_attribute = patternElement.Attribute("patternTransform");

            if (pattern_transform_attribute != null)
            {
                PatternTransform = SvgTransform.Parse(pattern_transform_attribute.Value);
            }

            var pattern_units_attribute = patternElement.Attribute("patternUnits");

            if (pattern_units_attribute != null)
            {
                switch (pattern_units_attribute.Value)
                {
                case "objectBoundingBox":
                    PatternUnits = SvgPatternUnits.ObjectBoundingBox;
                    break;

                case "userSpaceOnUse":
                    PatternUnits = SvgPatternUnits.UserSpaceOnUse;
                    break;

                default:
                    throw new NotImplementedException($"patternUnits value '{pattern_units_attribute.Value}' is no supported");
                }
            }

            var width_attribute = patternElement.Attribute("width");

            if (width_attribute != null)
            {
                Width = SvgLength.Parse(width_attribute.Value);
            }

            var height_attribute = patternElement.Attribute("height");

            if (height_attribute != null)
            {
                Height = SvgLength.Parse(height_attribute.Value);
            }
        }
예제 #3
0
        //==========================================================================
        public SvgPatternElement(SvgDocument document, SvgBaseElement parent, XElement patternElement)
            : base(document, parent, patternElement)
        {
            XAttribute pattern_transform_attribute = patternElement.Attribute("patternTransform");

            if (pattern_transform_attribute != null)
            {
                PatternTransform = SvgTransform.Parse(pattern_transform_attribute.Value);
            }

            XAttribute pattern_units_attribute = patternElement.Attribute("patternUnits");

            if (pattern_units_attribute != null)
            {
                switch (pattern_units_attribute.Value)
                {
                case "objectBoundingBox":
                    PatternUnits = SvgPatternUnits.ObjectBoundingBox;
                    break;

                case "userSpaceOnUse":
                    PatternUnits = SvgPatternUnits.UserSpaceOnUse;
                    break;

                default:
                    throw new NotImplementedException(String.Format("patternUnits value '{0}' is no supported", pattern_units_attribute.Value));
                }
            }

            XAttribute width_attribute = patternElement.Attribute("width");

            SvgLength.TryUpdate(ref Width, width_attribute?.Value);

            XAttribute height_attribute = patternElement.Attribute("height");

            SvgLength.TryUpdate(ref Height, height_attribute?.Value);
        }