Example #1
0
        protected sealed override bool AcceptTagElement(T tag, XElement element)
        {
            switch (element.Name.LocalName)
            {
            case TRANSFORM_ELEM:
                tag.Matrix = XMatrix.FromXml(element.Element(XMatrix.TAG_NAME));
                HasMatrix(tag, true);
                break;

            default:
                return(AcceptPlaceTagElement(tag, element));
            }
            return(true);
        }
Example #2
0
        public static ButtonRecordEx FromXml(XElement xRecord)
        {
            var res        = new ButtonRecordEx();
            var xReserved  = xRecord.Attribute("reserved");
            var xBlendMode = xRecord.Attribute("blendMode");

            res.StateHitTest = xRecord.RequiredBoolAttribute("hitTest");
            res.StateDown    = xRecord.RequiredBoolAttribute("down");
            res.StateOver    = xRecord.RequiredBoolAttribute("over");
            res.StateUp      = xRecord.RequiredBoolAttribute("up");
            if (xReserved != null)
            {
                res.Reserved = byte.Parse(xReserved.Value);
            }

            if (xBlendMode != null)
            {
                res.BlendMode = (BlendMode)byte.Parse(xBlendMode.Value);
            }

            if (!res.IsEndButton)
            {
                res.CharacterID = xRecord.RequiredUShortAttribute("objectID");
                res.PlaceDepth  = xRecord.RequiredUShortAttribute("depth");

                var xMatrix = xRecord.RequiredElement("transform").Element(XMatrix.TAG_NAME);
                res.PlaceMatrix = XMatrix.FromXml(xMatrix);

                var xColorTransform = xRecord.RequiredElement("colorTransform").Element("ColorTransform2");
                res.ColorTransform = XColorTransformRGBA.FromXml(xColorTransform);

                var xFilters = xRecord.Element("filters");
                if (xFilters != null)
                {
                    foreach (var xFilter in xFilters.Elements())
                    {
                        res.Filters.Add(XFilter.FromXml(xFilter));
                    }
                }
            }
            return(res);
        }
Example #3
0
        protected sealed override bool AcceptTagElement(T tag, XElement element)
        {
            switch (element.Name.LocalName)
            {
            case BOUNDS_ELEM:
                tag.TextBounds = XRect.FromXml(element.Element("Rectangle"));
                break;

            case TRANSFORM_ELEM:
                tag.TextMatrix = XMatrix.FromXml(element.Element(XMatrix.TAG_NAME));
                break;

            case RECORDS_ELEM:
                ReadRecords(tag, element);
                break;

            default:
                return(false);
            }
            return(true);
        }
Example #4
0
        private static SwfMatrix GetMatrix(XElement xFillStyle)
        {
            var xMatrix = xFillStyle.RequiredElement("matrix");

            return(XMatrix.FromXml(xMatrix.Element(XMatrix.TAG_NAME)));
        }