internal override void WriteColorSpaceForStroking(MemoryStream stream, Resources resources) { _name = resources.AddResources(ResourceType.Pattern, _streamDict); IPDFPageOperation operation = new ColorSpaceForStroking(Name); operation.WriteBytes(stream); operation = new ColorForStrokingEx(new float[0], _name); operation.WriteBytes(stream); }
internal override void WriteColorSpaceForStroking(MemoryStream stream, Resources resources) { _name = resources.AddResources(ResourceType.Pattern, _streamDict); PDFArray colorspace = new PDFArray(); colorspace.AddItem(new PDFName(Name)); colorspace.AddItem(new PDFName(_color.Colorspace.Name)); string name = resources.AddResources(ResourceType.ColorSpace, colorspace); IPDFPageOperation operation = new ColorSpaceForStroking(name); operation.WriteBytes(stream); operation = new ColorForStrokingEx(_color.ToArray(), _name); operation.WriteBytes(stream); }
internal override bool WriteChangesForStroking(Colorspace newCS, MemoryStream stream, Resources resources) { _name = resources.AddResources(ResourceType.Pattern, _streamDict); if (newCS is UncoloredTilingPatternColorspace) { if (!_name.Equals((newCS as UncoloredTilingPatternColorspace)._name)) { newCS.WriteColorSpaceForStroking(stream, resources); } else if (!_color.Equals((newCS as UncoloredTilingPatternColorspace)._color)) { IPDFPageOperation operation = new ColorForStrokingEx((newCS as UncoloredTilingPatternColorspace)._color.ToArray(), (newCS as UncoloredTilingPatternColorspace)._name); operation.WriteBytes(stream); return(true); } } else { newCS.WriteColorSpaceForStroking(stream, resources); return(true); } return(false); }