void SigParamSaturationDialog::on_btnRight_clicked()
{
    findNextSpot(+1);
}
    image.getSize().x& ((1 << blockSize) - 1), image.getSize().y
    & ((1 << blockSize) - 1)
  };
  sf::Vector2u imageBlocks
  {
    divided.x + ((remaining.x != 0) ? 1 : 0), divided.y
    + ((remaining.y != 0) ? 1 : 0)
  };

  bool suitable = true;
  sf::Vector2u origin
  { 0, 0 };

  SerialNumber serialNumber = nextSerialNumber;

  suitable = findNextSpot(origin, imageBlocks);

  if (suitable == false)
  {
    FATAL_ERROR("No room left in texture atlas to store an image");
  }

  // At this point, xOrigin/yOrigin is a suitable block to store the image.
  atlas.update(image, origin.x << blockSize, origin.y << blockSize);

  // Save texture information and add it to our set.
  sf::IntRect info;
  info.left = origin.x << blockSize;
  info.top = origin.y << blockSize;
  info.width = image.getSize().x;
  info.height = image.getSize().y;
void SigParamSaturationDialog::on_btnLeft_clicked()
{
    findNextSpot(-1);
}