hyperion.ng
RgbChannelAdjustment.h
1 #pragma once
2 
3 // STL includes
4 #include <cstdint>
5 #include <QString>
6 #include <utils/Logger.h>
7 
11 {
12 public:
14  RgbChannelAdjustment(QString channelName="");
15 
20  RgbChannelAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB, QString channelName="");
21 
24 
36  void apply(uint8_t input, uint8_t brightness, uint8_t & red, uint8_t & green, uint8_t & blue);
37 
45  void setAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB);
46 
48  uint8_t getAdjustmentR() const;
49 
51  uint8_t getAdjustmentG() const;
52 
54  uint8_t getAdjustmentB() const;
55 
56 private:
58  enum ColorChannel { RED=0, GREEN=1, BLUE=2 };
59 
61  void resetInitialized();
62 
64  uint8_t _adjust[3];
65 
67  uint8_t _mapping[3][256];
68 
70  QString _channelName;
71 
73  Logger * _log;
74 
76  bool _initialized[256];
77 
79  uint8_t _brightness;
80 };
Definition: Logger.h:32
RgbChannelAdjustment(QString channelName="")
Default constructor.
Definition: RgbChannelAdjustment.cpp:3
void setAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB)
setAdjustment RGB
Definition: RgbChannelAdjustment.cpp:28
void apply(uint8_t input, uint8_t brightness, uint8_t &red, uint8_t &green, uint8_t &blue)
Transform the given array value.
Definition: RgbChannelAdjustment.cpp:51
Correction for a single color byte value All configuration values are unsigned int and assume the col...
Definition: RgbChannelAdjustment.h:10
uint8_t getAdjustmentB() const
Definition: RgbChannelAdjustment.cpp:46
~RgbChannelAdjustment()
Destructor.
Definition: RgbChannelAdjustment.cpp:18
uint8_t getAdjustmentG() const
Definition: RgbChannelAdjustment.cpp:41
uint8_t getAdjustmentR() const
Definition: RgbChannelAdjustment.cpp:36