// ------------------- UpdateBlackLevelCtrls ----------------------- // void properties::UpdateBlackLevelCtrls () { if (m_bInit || !m_hCamera) return; QString strTemp; INT nMode; IS_RANGE_S32 nRange; // get values INT nRet = is_Blacklevel(m_hCamera, IS_BLACKLEVEL_CMD_GET_OFFSET_RANGE, (void*)&nRange, sizeof(nRange)); if (nRet == IS_SUCCESS) { m_maxBlackLevel = nRange.s32Max; m_minBlackLevel = nRange.s32Min; m_incBlackLevel = nRange.s32Inc; } is_Blacklevel(m_hCamera, IS_BLACKLEVEL_CMD_GET_OFFSET, &m_nBlackLevel, sizeof(m_nBlackLevel)); nRet = is_Blacklevel(m_hCamera, IS_BLACKLEVEL_CMD_GET_MODE, (void*)&nMode, sizeof(nMode)); if(nRet == IS_SUCCESS) { m_bAutoBlackLevel = (nMode & IS_AUTO_BLACKLEVEL_ON) != 0; } // set text strTemp.setNum ((short int)m_minBlackLevel, 10); textMinBlackLevel->setText (strTemp); strTemp.setNum ((short int)m_maxBlackLevel, 10); textMaxBlackLevel->setText (strTemp); m_bInit = TRUE; // update slider control sliderBlackLevel->setMinimum (m_minBlackLevel); sliderBlackLevel->setMaximum (m_maxBlackLevel); sliderBlackLevel->setSingleStep (m_incBlackLevel); sliderBlackLevel->setPageStep (4* m_incBlackLevel); sliderBlackLevel->setValue (m_nBlackLevel); sliderBlackLevel->setEnabled (m_bHasManualBlackLevel); // update spin control spinBoxBlackLevel->setMinimum (m_minBlackLevel); spinBoxBlackLevel->setMaximum (m_maxBlackLevel); spinBoxBlackLevel->setSingleStep (m_incBlackLevel); spinBoxBlackLevel->setValue (m_nBlackLevel); spinBoxBlackLevel->setEnabled (m_bHasManualBlackLevel); // auto checkAutoBlacklevel->setChecked (m_bAutoBlackLevel); checkAutoBlacklevel->setEnabled (m_bHasAutoBlackLevel); m_bInit = FALSE; }
void properties::initTabImage() { INT nBlacklevelCaps; INT nRet = 0; nRet = is_Blacklevel(m_hCamera, IS_BLACKLEVEL_CMD_GET_CAPS, &nBlacklevelCaps, sizeof(nBlacklevelCaps)); if(nRet == IS_SUCCESS) { m_bHasAutoBlackLevel = (nBlacklevelCaps & IS_BLACKLEVEL_CAP_SET_AUTO_BLACKLEVEL) != 0; m_bHasManualBlackLevel = (nBlacklevelCaps & IS_BLACKLEVEL_CAP_SET_OFFSET) != 0; } m_bHasHardwareGamma = (is_SetHardwareGamma (m_hCamera, IS_GET_HW_SUPPORTED_GAMMA) & IS_SET_HW_GAMMA_ON); INT nGamma; m_bHasSoftwareGamma = (is_Gamma (m_hCamera, IS_GAMMA_CMD_GET, &nGamma, sizeof(nGamma)) != IS_NO_SUCCESS); m_bHasGainBoost = (is_SetGainBoost (m_hCamera, IS_GET_SUPPORTED_GAINBOOST) & IS_SET_GAINBOOST_ON); // Timer for automatic updates connect(m_pTimerUpdateImageCtrl, SIGNAL(timeout()), this, SLOT(OnAutoUpdateImageCtrls())); m_pTimerUpdateImageCtrl->start(750); // Get Range for EdgeEnhancement UINT nRange[3]; ZeroMemory(nRange, sizeof(nRange)); nRet = is_EdgeEnhancement(m_hCamera, IS_EDGE_ENHANCEMENT_CMD_GET_RANGE, (void*)nRange, sizeof(nRange)); if(nRet == IS_SUCCESS) { m_weakEdgeEnhancement = nRange[1] / 2; m_strongEdgeEnhancement = nRange[1]; } }
// ------------------- sliderBlackLevel_valueChanged ----------------------- // void properties::sliderBlackLevel_valueChanged (int value) { if (m_bInit || !m_hCamera) return; value = (value < m_minBlackLevel) ? m_minBlackLevel : value; value = (value > m_maxBlackLevel) ? m_maxBlackLevel : value; is_Blacklevel (m_hCamera, IS_BLACKLEVEL_CMD_SET_OFFSET, (void*)&value, sizeof(value)); UpdateBlackLevelCtrls (); }
void properties::checkAutoBlacklevel_clicked () { if (m_bInit || !m_hCamera) return; INT nEnable = (checkAutoBlacklevel->isChecked ()) ? IS_AUTO_BLACKLEVEL_ON : IS_AUTO_BLACKLEVEL_OFF; if (is_Blacklevel(m_hCamera, IS_BLACKLEVEL_CMD_SET_MODE, (void*)&nEnable, sizeof(nEnable)) != IS_SUCCESS) QMessageBox::information (0, "Error !!!", "SetAutoBlackLevel failed", 0); UpdateBlackLevelCtrls (); }