internal override void WriteChanges(Pen newPen, MemoryStream stream, Resources resources) { if (!_dashPattern.Equals(newPen.DashPattern)) { IPDFPageOperation operation = new LineDash(newPen.DashPattern); operation.WriteBytes(stream); } if (!_lineCap.Equals(newPen.LineCap)) { IPDFPageOperation operation = new LineCap(newPen.LineCap); operation.WriteBytes(stream); } if (!_lineJoin.Equals(newPen.LineJoin)) { IPDFPageOperation operation = new LineJoin(newPen.LineJoin); operation.WriteBytes(stream); } if (!_miterLimit.Equals(newPen.MiterLimit)) { IPDFPageOperation operation = new MiterLimit(newPen.MiterLimit); operation.WriteBytes(stream); } if (!_opacity.Equals(newPen.Opacity / 100)) { PDFDictionary dict = new PDFDictionary(); dict.AddItem("CA", new PDFNumber(newPen.Opacity / 100)); string name = resources.AddResources(ResourceType.ExtGState, dict); IPDFPageOperation operation = new GraphicsState(name); operation.WriteBytes(stream); } if (!_width.Equals(newPen.Width)) { IPDFPageOperation operation = new Linewidth(newPen.Width); operation.WriteBytes(stream); } if (newPen is SolidPen) { if (!_color.Equals((newPen as SolidPen).Color)) { if ((newPen as SolidPen)._color is ColorICC) { (newPen as SolidPen)._color.Colorspace.WriteColorSpaceForStroking(stream, resources); } newPen.WriteParameters(stream, resources); } } else { newPen.WriteParameters(stream, resources); } }
public void Dump(XmlWriter writer, SwfTagCode shapeType) { writer.WriteStartElement("line-style"); writer.WriteAttributeString("width", Width.ToString()); if (shapeType == SwfTagCode.DefineMorphShape) { writer.WriteAttributeString("end-width", EndWidth.ToString()); writer.WriteAttributeString("color", Color.ToHtmlHex()); writer.WriteAttributeString("end-color", EndColor.ToHtmlHex()); } else if (shapeType == SwfTagCode.DefineShape4 || shapeType == SwfTagCode.DefineMorphShape2) { bool isMorph = shapeType == SwfTagCode.DefineMorphShape2; if (isMorph) { writer.WriteAttributeString("end-width", EndWidth.ToString()); } writer.WriteAttributeString("start-cap", StartCapStyle.ToString()); writer.WriteAttributeString("end-cap", EndCapStyle.ToString()); writer.WriteAttributeString("flags", Flags.ToString()); if (JoinStyle == SwfJoinStyle.Miter) { writer.WriteAttributeString("miter-limit", MiterLimit.ToString()); } if (Fill != null) { Fill.Dump(writer, shapeType); } else { writer.WriteAttributeString("color", Color.ToHtmlHex()); if (isMorph) { writer.WriteAttributeString("end-color", EndColor.ToHtmlHex()); } } } else { writer.WriteAttributeString("color", Color.ToHtmlHex(shapeType == SwfTagCode.DefineShape3)); } writer.WriteEndElement(); }
private Int32 computeHashCode() { return(Alignment.GetHashCode() ^ getSingleArrayHashCode(CompoundArray) ^ MiterLimit.GetHashCode() ^ BackgroundBrush.GetHashCode() ^ DashOffset.GetHashCode() ^ getSingleArrayHashCode(DashPattern) ^ getStyleBrushesArrayHashCode(DashBrushes) ^ DashStyle.GetHashCode() ^ StartCap.GetHashCode() ^ EndCap.GetHashCode() ^ DashCap.GetHashCode() ^ LineJoin.GetHashCode() ^ Transform.GetHashCode() ^ Width.GetHashCode() ^ -18133844); }
public void AcceptControlMiterLimit(MiterLimit miterLimit, PrintContext parameter) { parameter.WriteLine("Mitre Limit: {0}", miterLimit.Limit); }
public virtual void AcceptControlMiterLimit(MiterLimit miterLimit, T parameter) { // intentionally left blank }