camera_model.h 825 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef CAMERA_MODEL_H
  2. #define CAMERA_MODEL_H
  3. #include <stdint.h>
  4. /**
  5. * The dithering algorithms available.
  6. */
  7. typedef enum {
  8. FLOYD_STEINBERG,
  9. JARVIS_JUDICE_NINKE,
  10. STUCKI,
  11. } DitheringAlgorithm;
  12. typedef struct {
  13. /**
  14. * Flag to enable or disable dithering.
  15. */
  16. bool isDitheringEnabled;
  17. /**
  18. * Flag to represent the flash state when saving pictures to the Flipper.
  19. */
  20. bool isFlashEnabled;
  21. /**
  22. * Flag to invert pixel colors.
  23. */
  24. bool isInvertEnabled;
  25. /**
  26. * Flag to stop or start the stream.
  27. */
  28. bool isStreamEnabled;
  29. /**
  30. * Holds the currently selected dithering algorithm.
  31. */
  32. DitheringAlgorithm ditherAlgorithm;
  33. } CameraModel;
  34. /** The camera model. */
  35. extern CameraModel camera_model;
  36. void initialize_camera_model();
  37. #endif