camera_model.ino 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "camera_model.h"
  2. CameraModel *CameraModel::instance = nullptr;
  3. CameraModel::CameraModel()
  4. {
  5. // Set up defaults.
  6. isDitheringDisabled = false;
  7. isFlashEnabled = false;
  8. isInverted = false;
  9. isStreamEnabled = true;
  10. ditherAlgorithm = FLOYD_STEINBERG;
  11. }
  12. CameraModel *CameraModel::getInstance()
  13. {
  14. if (instance == nullptr)
  15. {
  16. instance = new CameraModel();
  17. }
  18. return instance;
  19. }
  20. // Getter implementations
  21. bool CameraModel::getIsDitheringDisabled()
  22. {
  23. return isDitheringDisabled;
  24. }
  25. bool CameraModel::getIsFlashEnabled()
  26. {
  27. return isFlashEnabled;
  28. }
  29. bool CameraModel::getIsInverted()
  30. {
  31. return isInverted;
  32. }
  33. bool CameraModel::getIsStreamEnabled()
  34. {
  35. return isStreamEnabled;
  36. }
  37. DitheringAlgorithm CameraModel::getDitherAlgorithm()
  38. {
  39. return ditherAlgorithm;
  40. }
  41. // Setter implementations
  42. void CameraModel::setIsDitheringDisabled(bool value)
  43. {
  44. isDitheringDisabled = value;
  45. }
  46. void CameraModel::setIsFlashEnabled(bool value)
  47. {
  48. isFlashEnabled = value;
  49. }
  50. void CameraModel::setIsInverted(bool value)
  51. {
  52. isInverted = value;
  53. }
  54. void CameraModel::setIsStreamEnabled(bool value)
  55. {
  56. isStreamEnabled = value;
  57. }
  58. void CameraModel::setDitherAlgorithm(DitheringAlgorithm algorithm)
  59. {
  60. ditherAlgorithm = algorithm;
  61. }