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); }
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); }
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); }
private static SwfMatrix GetMatrix(XElement xFillStyle) { var xMatrix = xFillStyle.RequiredElement("matrix"); return(XMatrix.FromXml(xMatrix.Element(XMatrix.TAG_NAME))); }