Ejemplo n.º 1
0
 /// <summary>
 /// Writes rectangle to the writer.
 /// </summary>
 /// <param name="writer">Writer to which to write rectangle.</param>
 /// <param name="rect">Rectangle to be written.</param>
 public static void WriteRect(this ISwfStreamWriter writer, ref SwfRect rect)
 {
     var btCount = new SignedBitsCount(rect.XMin, rect.XMax, rect.YMin, rect.YMax);
     var bits = btCount.GetBits();
     if (bits < 1) bits = 1;
     writer.WriteUnsignedBits(bits, 5);
     writer.WriteSignedBits(rect.XMin, bits);
     writer.WriteSignedBits(rect.XMax, bits);
     writer.WriteSignedBits(rect.YMin, bits);
     writer.WriteSignedBits(rect.YMax, bits);
     writer.FlushBits();
 }
Ejemplo n.º 2
0
 public static void WriteColorTransformRGB(this ISwfStreamWriter writer, ref ColorTransformRGB tranform)
 {
     var bitsCounter = new SignedBitsCount(0);
     if (tranform.HasAddTerms) {
         bitsCounter.AddValue(tranform.RedAddTerm);
         bitsCounter.AddValue(tranform.GreenAddTerm);
         bitsCounter.AddValue(tranform.BlueAddTerm);
     }
     if (tranform.HasMultTerms) {
         bitsCounter.AddValue(tranform.RedMultTerm);
         bitsCounter.AddValue(tranform.GreenMultTerm);
         bitsCounter.AddValue(tranform.BlueMultTerm);
     }
     writer.WriteBit(tranform.HasAddTerms);
     writer.WriteBit(tranform.HasMultTerms);
     var bits = bitsCounter.GetBits();
     writer.WriteUnsignedBits(bits, 4);
     if (tranform.HasMultTerms) {
         writer.WriteSignedBits(tranform.RedMultTerm, bits);
         writer.WriteSignedBits(tranform.GreenMultTerm, bits);
         writer.WriteSignedBits(tranform.BlueMultTerm, bits);
     }
     if (tranform.HasAddTerms) {
         writer.WriteSignedBits(tranform.RedAddTerm, bits);
         writer.WriteSignedBits(tranform.GreenAddTerm, bits);
         writer.WriteSignedBits(tranform.BlueAddTerm, bits);
     }
     writer.FlushBits();
 }