WriteSBits() публичный Метод

Writes signed bits.
public WriteSBits ( int value, uint numberOfBits ) : void
value int Value.
numberOfBits uint Number of bits.
Результат void
Пример #1
0
 /// <summary>
 /// Writes to a binary writer.
 /// </summary>
 /// <param name="writer">Writer.</param>
 public override void WriteTo(BufferedBinaryWriter writer)
 {
     base.WriteTo(writer);
     uint numBits = GetNumBits();
     writer.WriteUBits(numBits - 2, 4);
     writer.WriteSBits(controlDeltaX, numBits);
     writer.WriteSBits(controlDeltaY, numBits);
     writer.WriteSBits(anchorDeltaX, numBits);
     writer.WriteSBits(anchorDeltaY, numBits);
 }
Пример #2
0
        /// <summary>
        /// Writes to.
        /// </summary>
        /// <param name="writer">Writer.</param>
        public override void WriteTo(BufferedBinaryWriter writer)
        {
            base.WriteTo(writer);
            uint numBits = GetNumBits();
            writer.WriteUBits(numBits - 2, 4);

            bool generalLineFlag = HasGeneralLine();
            writer.WriteBoolean(generalLineFlag);

            if (generalLineFlag)
            {
                writer.WriteSBits(deltaX, numBits);
                writer.WriteSBits(deltaY, numBits);
            }
            else
            {
                bool vertLineFlag = HasVerticalLine();
                writer.WriteBoolean(vertLineFlag);
                if (!vertLineFlag)
                    writer.WriteSBits(deltaX, numBits);
                else
                    writer.WriteSBits(deltaY, numBits);
            }
        }
Пример #3
0
        /// <summary>
        /// Writes to.
        /// </summary>
        /// <param name="writer">Writer.</param>
        public override void WriteTo(BufferedBinaryWriter writer)
        {
            base.WriteTo(writer);
            bool stateNewStyle = HasNewStyle();
            bool stateLineStyle = HasLineStyle();
            bool stateFillStyle0 = HasFillStyle0();
            bool stateFillStyle1 = HasFillStyle1();
            bool stateMoveTo = HasMoveTo();

            writer.WriteBoolean(stateNewStyle);
            writer.WriteBoolean(stateLineStyle);
            writer.WriteBoolean(stateFillStyle1);
            writer.WriteBoolean(stateFillStyle0);
            writer.WriteBoolean(stateMoveTo);

            if (stateMoveTo)
            {
                uint moveBitsNum = GetMoveNumBits();
                writer.WriteUBits(moveBitsNum, 5);
                writer.WriteSBits(moveDeltaX, moveBitsNum);
                writer.WriteSBits(moveDeltaY, moveBitsNum);
            }

            if (stateFillStyle0)
            {
                writer.WriteUBits((uint)fillStyle0, ShapeWithStyle.NumFillBits);
            }
            if (stateFillStyle1)
            {
                writer.WriteUBits((uint)fillStyle1, ShapeWithStyle.NumFillBits);
            }
            if (stateLineStyle)
            {
                writer.WriteUBits((uint)lineStyle, ShapeWithStyle.NumLineBits);
            }

            if (stateNewStyle)
            {
                fillStyles.WriteTo(writer);
                lineStyles.WriteTo(writer);
                ShapeWithStyle.NumFillBits = BufferedBinaryWriter.GetNumBits((uint)fillStyles.Count);
                ShapeWithStyle.NumLineBits = BufferedBinaryWriter.GetNumBits((uint)lineStyles.Count);
                writer.WriteUBits(ShapeWithStyle.NumFillBits, 4);
                writer.WriteUBits(ShapeWithStyle.NumLineBits, 4);
            }
        }
Пример #4
0
        /// <summary>
        /// Writes to.
        /// </summary>
        /// <param name="binaryWriter">Binary writer.</param>
        public void WriteTo(BufferedBinaryWriter binaryWriter)
        {
            binaryWriter.SynchBits();
            bool hasScale = HasScale();
            bool hasRotate = HasRotate();

            binaryWriter.WriteBoolean(hasScale);
            if (hasScale)
            {
                uint nScaleBits = GetScaleBitsNum();
                binaryWriter.WriteUBits(nScaleBits, 5);
                binaryWriter.WriteFBits(matrix[0, 0], nScaleBits);
                binaryWriter.WriteFBits(matrix[1, 1], nScaleBits);
            }

            binaryWriter.WriteBoolean(hasRotate);
            if (hasRotate)
            {
                uint nRotateBits = GetRotateBitsNum();
                binaryWriter.WriteUBits(nRotateBits, 5);
                binaryWriter.WriteFBits(matrix[1, 0], nRotateBits);
                binaryWriter.WriteFBits(matrix[0, 1], nRotateBits);
            }

            uint nTranslateBits = GetTranslateBitsNum();
            binaryWriter.WriteUBits(nTranslateBits, 5);
            binaryWriter.WriteSBits((int)matrix[0, 2], nTranslateBits);
            binaryWriter.WriteSBits((int)matrix[1, 2], nTranslateBits);
            binaryWriter.SynchBits();
        }
Пример #5
0
 /// <summary>
 /// Writes to a binary writer.
 /// </summary>
 /// <param name="writer">Writer.</param>
 public void WriteTo(BufferedBinaryWriter writer)
 {
     uint nBits = GetNumBits();
     writer.WriteUBits(nBits, 5);
     writer.WriteSBits(xMin, nBits);
     writer.WriteSBits(xMax, nBits);
     writer.WriteSBits(yMin, nBits);
     writer.WriteSBits(yMax, nBits);
 }
Пример #6
0
 /// <summary>
 /// Writes to.
 /// </summary>
 /// <param name="writer">Writer.</param>
 public void WriteTo(BufferedBinaryWriter writer)
 {
     writer.WriteUBits(glyphIndex, TextRecordCollection.GLYPH_BITS);
     writer.WriteSBits(glyphAdvance, TextRecordCollection.ADVANCE_BITS);
 }
Пример #7
0
        /// <summary>
        /// Writes to.
        /// </summary>
        /// <param name="writer">Writer.</param>
        public void WriteTo(BufferedBinaryWriter writer)
        {
            writer.SynchBits();
            writer.WriteBoolean(hasAddTerms);
            writer.WriteBoolean(hasMultTerms);
            uint nBits = GetNumBits();
            writer.WriteUBits(nBits, 4);

            if (hasMultTerms)
            {
                writer.WriteSBits(redMultTerms, nBits);
                writer.WriteSBits(greenMultTerms, nBits);
                writer.WriteSBits(blueMultTerms, nBits);
            }
            if (hasAddTerms)
            {
                writer.WriteSBits(redAddTerms, nBits);
                writer.WriteSBits(greenAddTerms, nBits);
                writer.WriteSBits(blueAddTerms, nBits);
            }
            writer.SynchBits();
        }