コード例 #1
0
 public void SetBitsTestIndexTooSmall()
 {
     ReportStart();
     try
     {
         _pf.SetBits(-1, 4, 6);
     }
     catch (ArgumentOutOfRangeException ex)
     {
         string message
             = "Start index must be between 0 and 7. Supplied index: -1";
         Assert.AreEqual("startIndex", ex.ParamName);
         StringAssert.Contains(message, ex.Message);
         ReportEnd();
         throw;
     }
 }
コード例 #2
0
        /// <summary>
        /// Writes this component to the supplied output stream.
        /// </summary>
        /// <param name="outputStream">
        /// The output stream to write to.
        /// </param>
        public override void WriteToStream(Stream outputStream)
        {
            // logical screen size
            WriteShort(_screenSize.Width, outputStream);
            WriteShort(_screenSize.Height, outputStream);

            // Packed fields
            PackedFields packed = new PackedFields();

            packed.SetBit(0, _hasGlobalColourTable);
            packed.SetBits(1, 3, _colourResolution);
            packed.SetBit(4, _gctIsSorted);
            packed.SetBits(5, 3, _gctSizeBits);
            WriteByte(packed.Byte, outputStream);

            WriteByte(_backgroundColourIndex, outputStream);
            WriteByte(_pixelAspectRatio, outputStream);
        }
コード例 #3
0
        /// <summary>
        /// Writes this component to the supplied output stream.
        /// </summary>
        /// <param name="outputStream">
        /// The output stream to write to.
        /// </param>
        public override void WriteToStream(Stream outputStream)
        {
            WriteByte(_blockSize, outputStream);

            PackedFields packed = new PackedFields();

            packed.SetBits(3, 3, (int)_disposalMethod);
            packed.SetBit(6, _expectsUserInput);
            packed.SetBit(7, _hasTransparentColour);
            WriteByte(packed.Byte, outputStream);

            WriteShort(_delayTime, outputStream);
            WriteByte(_transparentColourIndex, outputStream);
            WriteByte(0, outputStream); // block terminator
        }
コード例 #4
0
        /// <summary>
        /// Writes this component to the supplied output stream.
        /// </summary>
        /// <param name="outputStream">
        /// The output stream to write to.
        /// </param>
        public override void WriteToStream(Stream outputStream)
        {
            // Position and size of the image in this frame
            WriteShort(_position.X, outputStream);
            WriteShort(_position.Y, outputStream);
            WriteShort(_size.Width, outputStream);
            WriteShort(_size.Height, outputStream);

            PackedFields packed = new PackedFields();

            packed.SetBit(0, _hasLocalColourTable);
            packed.SetBit(1, _isInterlaced);
            packed.SetBit(2, _isSorted);
            packed.SetBits(5, 3, _localColourTableSizeBits);
            WriteByte(packed.Byte, outputStream);
        }
コード例 #5
0
 public void GetSetBitsTest()
 {
     ReportStart();
     _pf = new PackedFields();
     _pf.SetBits(2, 3, 4);
     Assert.AreEqual(false, _pf.GetBit(0));
     Assert.AreEqual(false, _pf.GetBit(1));
     Assert.AreEqual(true, _pf.GetBit(2));
     Assert.AreEqual(false, _pf.GetBit(3));
     Assert.AreEqual(false, _pf.GetBit(4));
     Assert.AreEqual(false, _pf.GetBit(5));
     Assert.AreEqual(false, _pf.GetBit(6));
     Assert.AreEqual(false, _pf.GetBit(7));
     Assert.AreEqual(4, _pf.GetBits(2, 3));
     Assert.AreEqual(4, _pf.GetBits(1, 4));
     Assert.AreEqual(4, _pf.GetBits(0, 5));
     Assert.AreEqual(8, _pf.GetBits(0, 6));
     Assert.AreEqual(16, _pf.GetBits(0, 7));
     Assert.AreEqual(32, _pf.GetBits(0, 8));
     Assert.AreEqual(32, _pf.Byte);
     ReportEnd();
 }
コード例 #6
0
 public void GetSetBitsTest2()
 {
     ReportStart();
     _pf = new PackedFields();
     _pf.SetBits(1, 5, 13);
     Assert.AreEqual(false, _pf.GetBit(0));
     Assert.AreEqual(false, _pf.GetBit(1));
     Assert.AreEqual(true, _pf.GetBit(2));
     Assert.AreEqual(true, _pf.GetBit(3));
     Assert.AreEqual(false, _pf.GetBit(4));
     Assert.AreEqual(true, _pf.GetBit(5));
     Assert.AreEqual(false, _pf.GetBit(6));
     Assert.AreEqual(false, _pf.GetBit(7));
     Assert.AreEqual(13, _pf.GetBits(1, 5));
     Assert.AreEqual(13, _pf.GetBits(0, 6));
     Assert.AreEqual(13, _pf.GetBits(2, 4));
     Assert.AreEqual(26, _pf.GetBits(1, 6));
     Assert.AreEqual(13, _pf.GetBits(0, 6));
     Assert.AreEqual(26, _pf.GetBits(0, 7));
     Assert.AreEqual(52, _pf.GetBits(0, 8));
     Assert.AreEqual(52, _pf.Byte);
     ReportEnd();
 }
コード例 #7
0
		/// <summary>
		/// Writes this component to the supplied output stream.
		/// </summary>
		/// <param name="outputStream">
		/// The output stream to write to.
		/// </param>
		public override void WriteToStream( Stream outputStream )
		{
			WriteByte( _blockSize, outputStream );
			
			PackedFields packed = new PackedFields();
			packed.SetBits( 3, 3, (int) _disposalMethod );
			packed.SetBit( 6, _expectsUserInput );
			packed.SetBit( 7, _hasTransparentColour );
			WriteByte( packed.Byte, outputStream );
			
			WriteShort( _delayTime , outputStream);
			WriteByte( _transparentColourIndex, outputStream );
			WriteByte( 0, outputStream ); // block terminator
		}
コード例 #8
0
        /// <summary>
        /// Writes this component to the supplied output stream.
        /// </summary>
        /// <param name="outputStream">
        /// The output stream to write to.
        /// </param>
        public override void WriteToStream( Stream outputStream )
        {
            // logical screen size
            WriteShort( _screenSize.Width, outputStream );
            WriteShort( _screenSize.Height, outputStream );

            // Packed fields
            PackedFields packed = new PackedFields();
            packed.SetBit( 0, _hasGlobalColourTable );
            packed.SetBits( 1, 3, _colourResolution );
            packed.SetBit( 4, _gctIsSorted );
            packed.SetBits( 5, 3, _gctSizeBits );
            WriteByte( packed.Byte, outputStream );

            WriteByte( _backgroundColourIndex, outputStream );
            WriteByte( _pixelAspectRatio, outputStream );
        }
コード例 #9
0
ファイル: ImageDescriptor.cs プロジェクト: hanistory/hasuite
		/// <summary>
		/// Writes this component to the supplied output stream.
		/// </summary>
		/// <param name="outputStream">
		/// The output stream to write to.
		/// </param>
		public override void WriteToStream( Stream outputStream )
		{
			// Position and size of the image in this frame
			WriteShort( _position.X, outputStream );
			WriteShort( _position.Y, outputStream );
			WriteShort( _size.Width, outputStream );
			WriteShort( _size.Height, outputStream );
			
			PackedFields packed = new PackedFields();
			packed.SetBit( 0, _hasLocalColourTable );
			packed.SetBit( 1, _isInterlaced );
			packed.SetBit( 2, _isSorted );
			packed.SetBits( 5, 3, _localColourTableSizeBits );
			WriteByte( packed.Byte, outputStream );
		}