#ifndef LIMITS_H
#define LIMITS_H

#include "save2filetexts.h"
#include <QByteArray>
#include <QTextStream>
#include <vector>

class Limits {
public:
  Limits();

  uint16_t minWidth;
  uint16_t maxWidth;
  uint16_t minHeight;
  uint16_t maxHeight;
  std::vector<uint8_t> binSteps;
  std::vector<uint8_t> skipSteps;
  uint8_t minGain;
  uint8_t maxGain;
  std::vector<float> gainStepSizeReal;
  std::vector<uint16_t> gainStepSize;
  std::vector<uint16_t> gainLims;
  uint8_t minBright;
  uint8_t maxBright;

  bool setWidth(QByteArray &data);
  bool setHeight(QByteArray &data);
  bool setBin(QByteArray &data);
  bool setSkip(QByteArray &data);
  bool setGain(QByteArray &data);
  bool setBright(QByteArray &data);
};

QTextStream &operator<<(QTextStream &out, Limits lim);

#endif // LIMITS_H
