public WriteSBits ( int value, uint numberOfBits ) : void | ||
value | int | Value. |
numberOfBits | uint | Number of bits. |
Результат | void |
/// <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); }
/// <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); } }
/// <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); } }
/// <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(); }
/// <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); }
/// <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); }
/// <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(); }