private void bumpPosition()
  {
    // Bump the current X position
    ++xCur;

    // If we are at the end of a scan line, set xCur back to the beginning
    // If we are interlaced, bump the yCur to the appropriate spot,
    // otherwise, just increment it.
    if (xCur == imgW)
    {
      xCur = 0;

      if (!wantInterlaced)
        ++yCur;
      else
        switch (curPass)
        {
          case 0:
            yCur += 8;
            if (yCur >= imgH)
            {
              ++curPass;
              yCur = 4;
            }
            break;
          case 1:
            yCur += 8;
            if (yCur >= imgH)
            {
              ++curPass;
              yCur = 2;
            }
            break;
          case 2:
            yCur += 4;
            if (yCur >= imgH)
            {
              ++curPass;
              yCur = 1;
            }
            break;
          case 3:
            yCur += 2;
            break;
        }
    }
  }