Example #1
0
// -------------------  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;
}
Example #2
0
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];
    }
}
Example #3
0
// -------------------  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 ();
}
Example #4
0
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 ();
}