public void Invert(Scanline scan)
        {
            int x = scan.X;

            while (x < scan.X + scan.Length)
            {
                Invert(x, scan.Y);
                ++x;
            }
        }
        public void Set(Scanline scan, bool newValue)
        {
            int x = scan.X;

            while (x < scan.X + scan.Length)
            {
                Set(x, scan.Y, newValue);
                ++x;
            }
        }
 public override bool Equals(object obj)
 {
     if (obj is Scanline)
     {
         Scanline rhs = (Scanline)obj;
         return(x == rhs.x && y == rhs.y && length == rhs.length);
     }
     else
     {
         return(false);
     }
 }
		public void Invert (Scanline scan)
		{
			int x = scan.X;

			while (x < scan.X + scan.Length) {
				Invert (x, scan.Y);
				++x;
			}
		}
		public void Set (Scanline scan, bool newValue)
		{
			int x = scan.X;

			while (x < scan.X + scan.Length) {
				Set (x, scan.Y, newValue);
				++x;
			}
		}