void S60CameraImageProcessingControl::setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceMode mode) { if (isWhiteBalanceModeSupported(mode)) m_session->setWhiteBalanceMode(mode); else m_session->setError(KErrNotSupported, QString("Requested white balance mode is not supported.")); }
bool CameraBinImageProcessing::isParameterValueSupported(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) const { switch (parameter) { case ContrastAdjustment: case BrightnessAdjustment: case SaturationAdjustment: { const bool isGstColorBalanceValueSupported = GST_IS_COLOR_BALANCE(m_session->cameraBin()) && qAbs(value.toReal()) <= 1.0; #ifdef USE_V4L if (!isGstColorBalanceValueSupported) return m_v4lImageControl->isParameterValueSupported(parameter, value); #endif return isGstColorBalanceValueSupported; } case SharpeningAdjustment: { #ifdef USE_V4L return m_v4lImageControl->isParameterValueSupported(parameter, value); #else return false; #endif } case WhiteBalancePreset: { const QCameraImageProcessing::WhiteBalanceMode mode = value.value<QCameraImageProcessing::WhiteBalanceMode>(); const bool isPhotographyWhiteBalanceSupported = isWhiteBalanceModeSupported(mode); #ifdef USE_V4L if (!isPhotographyWhiteBalanceSupported) return m_v4lImageControl->isParameterValueSupported(parameter, value); #endif return isPhotographyWhiteBalanceSupported; } case ColorTemperature: { #ifdef USE_V4L return m_v4lImageControl->isParameterValueSupported(parameter, value); #else return false; #endif } case ColorFilter: { const QCameraImageProcessing::ColorFilter filter = value.value<QCameraImageProcessing::ColorFilter>(); #ifdef HAVE_GST_PHOTOGRAPHY return m_filterMap.contains(filter); #else return filter == QCameraImageProcessing::ColorFilterNone; #endif } default: break; } return false; }
void CameraBinImageProcessing::setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceMode mode) { #ifdef HAVE_GST_PHOTOGRAPHY if (isWhiteBalanceModeSupported(mode)) { m_whiteBalanceMode = mode; #if GST_CHECK_VERSION(1, 2, 0) GstPhotographyWhiteBalanceMode currentMode; if (gst_photography_get_white_balance_mode(m_session->photography(), ¤tMode) && currentMode != GST_PHOTOGRAPHY_WB_MODE_MANUAL) #endif { unlockWhiteBalance(); } } #else Q_UNUSED(mode); #endif }
bool CameraBinImageProcessing::isParameterValueSupported(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) const { switch (parameter) { case ContrastAdjustment: case BrightnessAdjustment: case SaturationAdjustment: return GST_IS_COLOR_BALANCE(m_session->cameraBin()) && qAbs(value.toReal()) <= 1.0; case WhiteBalancePreset: return isWhiteBalanceModeSupported(value.value<QCameraImageProcessing::WhiteBalanceMode>()); case ColorFilter: { const QCameraImageProcessing::ColorFilter filter = value.value<QCameraImageProcessing::ColorFilter>(); #ifdef HAVE_GST_PHOTOGRAPHY return m_filterMap.contains(filter); #else return filter == QCameraImageProcessing::ColorFilterNone; #endif } default: break; } return false; }
void CameraBinImageProcessing::setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceMode mode) { if (isWhiteBalanceModeSupported(mode)) gst_photography_set_white_balance_mode(m_session->photography(), m_mappedWbValues.key(mode)); }