diff options
Diffstat (limited to 'dxr3interface.c')
-rw-r--r-- | dxr3interface.c | 53 |
1 files changed, 11 insertions, 42 deletions
diff --git a/dxr3interface.c b/dxr3interface.c index 64bdb91..2115112 100644 --- a/dxr3interface.c +++ b/dxr3interface.c @@ -763,25 +763,22 @@ void cDxr3Interface::ResetHardware() Unlock(); } -// ================================== -//! get brightness -int cDxr3Interface::GetBrightness() +void cDxr3Interface::updateBcsValues() { - return m_bcs.brightness; + // update m_bcs with values from settings + m_bcs.brightness = cDxr3ConfigData::instance()->GetBrightness(); + m_bcs.contrast = cDxr3ConfigData::instance()->GetContrast(); + m_bcs.saturation = cDxr3ConfigData::instance()->GetSaturation(); + + // update bcs values in hardware + CHECK(ioctl(m_fdControl, EM8300_IOCTL_SETBCS, &m_bcs)); } // ================================== -//! set brightness -void cDxr3Interface::SetBrightness(int value) +//! get brightness +int cDxr3Interface::GetBrightness() { - int oldval = m_bcs.brightness; - m_bcs.brightness = value; - - if (ioctl(m_fdControl, EM8300_IOCTL_SETBCS, &m_bcs) == -1) - { - esyslog("dxr3: unable to set brightness to %d: %m", value); - m_bcs.brightness = oldval; - } + return m_bcs.brightness; } // ================================== @@ -792,20 +789,6 @@ int cDxr3Interface::GetContrast() } // ================================== -//! set contrast -void cDxr3Interface::SetContrast(int value) -{ - int oldval = m_bcs.contrast; - m_bcs.contrast = value; - - if (ioctl(m_fdControl, EM8300_IOCTL_SETBCS, &m_bcs) == -1) - { - esyslog("dxr3: unable to set contrast to %d: %m", value); - m_bcs.contrast = oldval; - } -} - -// ================================== //! get saturation int cDxr3Interface::GetSaturation() { @@ -813,20 +796,6 @@ int cDxr3Interface::GetSaturation() } // ================================== -//! set saturation -void cDxr3Interface::SetSaturation(int value) -{ - int oldval = m_bcs.saturation; - m_bcs.saturation = value; - - if (ioctl(m_fdControl, EM8300_IOCTL_SETBCS, &m_bcs) == -1) - { - esyslog("dxr3: unable to set saturation to %d: %m", value); - m_bcs.saturation = oldval; - } -} - -// ================================== cMutex* cDxr3Interface::m_pMutex = new cMutex; // Local variables: |