Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }