camera_model.ino 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "camera_model.h"
  2. CameraModel* CameraModel::instance = nullptr;
  3. CameraModel::CameraModel() {
  4. // Set up defaults.
  5. isDitheringDisabled = false;
  6. isFlashEnabled = false;
  7. isInverted = false;
  8. isStreamEnabled = true;
  9. ditherAlgorithm = FLOYD_STEINBERG;
  10. }
  11. CameraModel* CameraModel::getInstance() {
  12. if (instance == nullptr) {
  13. instance = new CameraModel();
  14. }
  15. return instance;
  16. }
  17. // Getter implementations
  18. bool CameraModel::getIsDitheringDisabled() { return isDitheringDisabled; }
  19. bool CameraModel::getIsFlashEnabled() { return isFlashEnabled; }
  20. bool CameraModel::getIsInverted() { return isInverted; }
  21. bool CameraModel::getIsStreamEnabled() { return isStreamEnabled; }
  22. DitheringAlgorithm CameraModel::getDitherAlgorithm() { return ditherAlgorithm; }
  23. // Setter implementations
  24. void CameraModel::setIsDitheringDisabled(bool value) {
  25. isDitheringDisabled = value;
  26. }
  27. void CameraModel::setIsFlashEnabled(bool value) { isFlashEnabled = value; }
  28. void CameraModel::setIsInverted(bool value) { isInverted = value; }
  29. void CameraModel::setIsStreamEnabled(bool value) { isStreamEnabled = value; }
  30. void CameraModel::setDitherAlgorithm(DitheringAlgorithm algorithm) {
  31. ditherAlgorithm = algorithm;
  32. }