Esempio n. 1
0
            public XElement Visit(StyleChangeShapeRecordRGBA record, object arg)
            {
                var res = FormatShapeSetup(record);

                if (record.StateNewStyles)
                {
                    var xStyles = new XElement("styles");
                    xStyles.Add(XStyleList.ToXml(record.FillStyles, record.LineStyles));
                    res.Add(xStyles);
                }
                return(res);
            }
Esempio n. 2
0
            public IShapeRecord Visit(StyleChangeShapeRecordRGBA record, XElement xShapeRecord)
            {
                ReadStyleChange(record, xShapeRecord);
                var xStyles = xShapeRecord.Element("styles");

                if (xStyles != null)
                {
                    record.StateNewStyles = true;
                    XStyleList.FromXml(xStyles.Element("StyleList"), record.FillStyles, record.LineStyles);
                }
                return(record);
            }
Esempio n. 3
0
        ShapeRecordWriteContext IShapeRecordVisitor <ShapeRecordWriteContext, ShapeRecordWriteContext> .Visit(StyleChangeShapeRecordRGBA record, ShapeRecordWriteContext ctx)
        {
            var writer = ctx.Writer;

            WriteStyleChangeShapeRecord(writer, record, ref ctx.FillStyleBits, ref ctx.LineStyleBits);
            if (record.StateNewStyles)
            {
                writer.WriteFillStylesRGBA(record.FillStyles);
                writer.WriteLineStylesRGBA(record.LineStyles);
                ctx.FillStyleBits = new UnsignedBitsCount((uint)record.FillStyles.Count).GetBits();
                ctx.LineStyleBits = new UnsignedBitsCount((uint)record.LineStyles.Count).GetBits();
                if (ctx.FillStyleBits < 1)
                {
                    ctx.FillStyleBits = 1;                        //TODO: adobe?
                }
                writer.WriteUnsignedBits(ctx.FillStyleBits, 4);
                writer.WriteUnsignedBits(ctx.LineStyleBits, 4);
            }
            return(ctx);
        }
Esempio n. 4
0
 private static void AreEqual(StyleChangeShapeRecordRGBA expected, StyleChangeShapeRecordRGBA actual, string message)
 {
     Assert.AreEqual(expected.FillStyles.Count, actual.FillStyles.Count);
 }