CameraCaptureForm::Activate(void* pActivateParam)
{
result r = E_SUCCESS;
- int tempVal = INIT;
- int index = 0;
- int count = 0;
- Dimension tempDimension(INIT, INIT);
- Tizen::Graphics::Dimension* pResolution = null;
- Tizen::Graphics::PixelFormat pixFormat = PIXEL_FORMAT_YCbCr420_PLANAR;
- int tempQuality = CAMERA_QUALITY_SUPER_FINE;
if (IsBatteryLevelLow() == true)
{
__background = false;
r = CreateOverlayRegion();
- TryCatch(r == E_SUCCESS, , "[%s] CreateOverlayRegion", GetErrorMessage(r));
+ TryReturn(r == E_SUCCESS, r, "[%s] CreateOverlayRegion", GetErrorMessage(r));
__pCamera = new (std::nothrow) Camera();
- TryCatch(__pCamera != null, ShowError(E_OUT_OF_MEMORY, METHOD_FILE_LINENO), "camera cannot be created E_OUT_OF_MEMORY");
+ TryReturn(__pCamera != null, ShowError(E_OUT_OF_MEMORY, METHOD_FILE_LINENO), "camera cannot be created E_OUT_OF_MEMORY");
r = __pCamera->Construct(*this, CAMERA_PRIMARY);
if(IsFailed(r))
delete __pCamera;
__pCamera = null;
ShowError(r, METHOD_FILE_LINENO);
- goto CATCH;
+ return r;
}
r = __pCamera->PowerOn();
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), " [%s] __pCamera->PowerOn()",GetErrorMessage(r));
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), " [%s] __pCamera->PowerOn()",GetErrorMessage(r));
__pPreviewFrameRateList = __pCamera->GetSupportedPreviewFrameRateListN();
- TryCatch(__pPreviewFrameRateList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewFrameRateListN returned empty");
+ TryReturn(__pPreviewFrameRateList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewFrameRateListN returned empty");
__pCaptureResolutionList = __pCamera->GetSupportedCaptureResolutionListN();
- TryCatch(__pCaptureResolutionList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedCaptureResolutionListN returned empty");
+ TryReturn(__pCaptureResolutionList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedCaptureResolutionListN returned empty");
__pPreviewResolutionList = __pCamera->GetSupportedPreviewResolutionListN();
- TryCatch(__pPreviewResolutionList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewResolutionListN returned empty");
+ TryReturn(__pPreviewResolutionList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewResolutionListN returned empty");
__pPreviewFormatList = __pCamera->GetSupportedPreviewFormatListN();
- TryCatch(__pPreviewFormatList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewFormatListN returned empty");
+ TryReturn(__pPreviewFormatList != null, ShowError(r, METHOD_FILE_LINENO), " __pCamera->GetSupportedPreviewFormatListN returned empty");
r = __pOverlay->GetBackgroundBufferInfo(__bufferInfo);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pOverlay->GetBackgroundBufferInfo", GetErrorMessage(r));
-
- tempVal = __pConfig->GetInt(INIT, SECTION_NAME, String(L"PreviewFormat"));
- if (tempVal == INIT)
- {
- tempVal = __pCamera->GetPreviewFormat();
- }
-
- count = __pPreviewFormatList->GetCount();
-
- for (index = 0; index < count; index++)
- {
- PixelFormat object = __pCamera->GetPreviewFormat();
- r = __pPreviewFormatList->GetAt(index, object);
- TryCatch(__pPreviewFormatList != null, ShowError(r, METHOD_FILE_LINENO), " __pPreviewFormatList is empty");
-
- if (tempVal == object)
- {
- __previewFormatIndex = index;
- break;
- }
- }
-
- TryCatch(index < count, ShowError(E_FAILURE, METHOD_FILE_LINENO),"index >= count failed");
-
-
- tempVal = __pConfig->GetInt(INIT, SECTION_NAME, String(L"framerate"));
- if (tempVal == INIT)
- {
- tempVal = __pCamera->GetPreviewFrameRate();
- }
-
- count = __pPreviewFrameRateList->GetCount();
-
- for (index = 0; index < count; index++)
- {
- int object = INIT;
- r = __pPreviewFrameRateList->GetAt(index, object);
- TryCatch(__pPreviewFrameRateList != null, ShowError(r, METHOD_FILE_LINENO), " __pPreviewFrameRateList is empty");
-
- if (tempVal == object)
- {
- __frameRateIndex = index;
- break;
- }
- }
-
- TryCatch(index < count, ShowError(E_FAILURE, METHOD_FILE_LINENO),"index >= count failed");
-
- tempDimension.width = __pConfig->GetInt(INIT, SECTION_NAME, String(L"captureresolutionWidth"));
- tempDimension.height = __pConfig->GetInt(INIT, SECTION_NAME, String(L"captureresolutionHeight"));
- if ((tempDimension.width == INIT) || (tempDimension.height == INIT))
- {
- tempDimension = __pCamera->GetCaptureResolution();
- }
-
- count = __pCaptureResolutionList->GetCount();
-
- for (index = 0; index < count; index++)
- {
- Dimension* pDimension = null;
- pDimension = static_cast< Dimension* >(__pCaptureResolutionList->GetAt(index));
- TryCatch(pDimension != null, ShowError(E_FAILURE, METHOD_FILE_LINENO),"__pCaptureResolutionList is empty");
-
- if (*pDimension == tempDimension)
- {
- __captureResolutionIndex = index;
- break;
- }
- }
-
- TryCatch(index < count, ShowError(E_FAILURE, METHOD_FILE_LINENO),"__pCaptureResolutionList not found");
-
- tempDimension.width = __pConfig->GetInt(INIT, SECTION_NAME, String(L"previewresolutionWidth"));
- tempDimension.height = __pConfig->GetInt(INIT, SECTION_NAME, String(L"previewresolutionHeight"));
- if ((tempDimension.width == INIT) || (tempDimension.height == INIT))
- {
- tempDimension = __pCamera->GetPreviewResolution();
- }
-
- count = __pPreviewResolutionList->GetCount();
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pOverlay->GetBackgroundBufferInfo", GetErrorMessage(r));
- for (index = 0; index < count; index++)
- {
- Dimension* pDimension = null;
- pDimension = static_cast< Dimension* >(__pPreviewResolutionList->GetAt(index));
- TryCatch(pDimension != null, ShowError(E_FAILURE, METHOD_FILE_LINENO),"__pPreviewResolutionList is empty");
-
- if (*pDimension == tempDimension)
- {
- __previewResolutionIndex = index;
- break;
- }
- }
-
- TryCatch(index < count, ShowError(E_FAILURE, METHOD_FILE_LINENO),"__pPreviewResolutionList not found");
-
- tempVal = __pConfig->GetInt(INIT, SECTION_NAME, String(L"quality"));
- //Set to default only in the beginning
- if (tempVal == INIT && __qualityIndex == INIT)
- {
- __qualityIndex = __pCamera->GetQuality();
- }
-
- r = __pPreviewFrameRateList->GetAt(__frameRateIndex, tempVal);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"__pPreviewFrameRateList is empty");
-
- r = __pCamera->SetPreviewFrameRate(tempVal);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFrameRate", GetErrorMessage(r));
-
- r = __pPreviewFormatList->GetAt(__previewFormatIndex, pixFormat);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] __pPreviewFormatList->GetAt", GetErrorMessage(r));
-
- r = __pCamera->SetPreviewFormat(pixFormat);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFormat", GetErrorMessage(r));
-
- pResolution = static_cast< Dimension* >(__pPreviewResolutionList->GetAt(__previewResolutionIndex));
- TryCatch(pResolution != null, ShowError(r, METHOD_FILE_LINENO),"[%s] __pPreviewResolutionList is empty", GetErrorMessage(r));
-
- r = __pCamera->SetPreviewResolution(*pResolution);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewResolution", GetErrorMessage(r));
-
- pResolution = null;
-
- pResolution = static_cast< Dimension* >(__pCaptureResolutionList->GetAt(__captureResolutionIndex));
- TryCatch(pResolution != null, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCaptureResolutionList is empty", GetErrorMessage(r));
-
- r = __pCamera->SetCaptureResolution(*pResolution);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetCaptureResolution", GetErrorMessage(r));
-
- if (__pQualityList != null)
- {
- r = __pQualityList->GetAt(__qualityIndex, tempQuality);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pQualityList->GetAt", GetErrorMessage(r));
- }
-
- if ( __qualityIndex == INIT)
- {
- __qualityIndex = __pCamera->GetQuality();
- }
-
- r = __pCamera->SetQuality((CameraQuality)__qualityIndex);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetQuality", GetErrorMessage(r));
-
- if ( __meteringModeIndex == INIT)
- {
- __meteringModeValue = __pCamera->GetMeteringMode();
- }
-
- r = __pCamera->SetMeteringMode(__meteringModeValue);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetMeteringMode", GetErrorMessage(r));
-
- if ( __focusModeIndex == INIT)
- {
- __focusModeValue = __pCamera->GetFocusMode();
- }
-
- if (__focusModeValue != CAMERA_FOCUS_MODE_NONE)
- {
- r = __pCamera->SetFocusMode(__focusModeValue);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetFocusMode", GetErrorMessage(r));
- }
-
- if ( __flashModeIndex == INIT)
- {
- __flashModeValue = __pCamera->GetFlashMode();
- }
-
- r = __pCamera->SetFlashMode(__flashModeValue);
- TryCatch(r == E_SUCCESS || r == E_UNSUPPORTED_OPERATION, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetFlashMode", GetErrorMessage(r));
-
- if ( __sceneModeIndex == INIT)
- {
- __sceneModeValue = __pCamera->GetSceneMode();
- }
-
- r = __pCamera->SetSceneMode(__sceneModeValue);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetSceneMode", GetErrorMessage(r));
-
-
- r = ReloadAllConfiguration();
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] ReloadAllConfiguration", GetErrorMessage(r));
+ r = LoadDefaultConfiguration();
+ TryReturn(r == E_SUCCESS || r == E_UNSUPPORTED_OPERATION, r, "[%s] LoadDefaultConfiguration", GetErrorMessage(r));
//set the default preview format in burst mode
if (__isZeroShutterLag == true)
{
r = __pCamera->SetPreviewFormat(__defaultPreviewFormat);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFormat", GetErrorMessage(r));
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFormat", GetErrorMessage(r));
}
r = __pCamera->StartPreview(&__bufferInfo, false);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->StartPreview", GetErrorMessage(r));
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->StartPreview", GetErrorMessage(r));
if (__pSensorManager->IsAvailable(Tizen::Uix::Sensor::SENSOR_TYPE_ACCELERATION))
{
r = __pSensorManager->AddSensorListener(*this, Tizen::Uix::Sensor::SENSOR_TYPE_ACCELERATION, ACCERERATION_INTERVAL, true);
- TryCatch(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pSensorManager->AddSensorListener", GetErrorMessage(r));
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pSensorManager->AddSensorListener", GetErrorMessage(r));
}
return r;
-
-CATCH:
- // Free resource is done when the error pop up Ok is pressed
- return r;
}
result
-CameraCaptureForm::ReloadAllConfiguration(void)
+CameraCaptureForm::LoadDefaultConfiguration(void)
{
result r = E_SUCCESS;
- if (__brightnessSliderValue != INIT)
- {
- AppLog("SetBrightness __brightnessSliderValue %d",__brightnessSliderValue);
- r = __pCamera->SetBrightness(__brightnessSliderValue);
- TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetBrightness", GetErrorMessage(r));
- }
+ r = __pCamera->SetPreviewFrameRate(__pCamera->GetPreviewFrameRate());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFrameRate", GetErrorMessage(r));
- if (__contrastSliderValue != INIT)
- {
- r = __pCamera->SetContrast(__contrastSliderValue);
- TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetContrast", GetErrorMessage(r));
- }
+ r = __pCamera->SetPreviewFormat(__pCamera->GetPreviewFormat());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewFormat", GetErrorMessage(r));
+
+ r = __pCamera->SetPreviewResolution(__pCamera->GetPreviewResolution());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetPreviewResolution", GetErrorMessage(r));
+
+ r = __pCamera->SetCaptureResolution(__pCamera->GetCaptureResolution());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetCaptureResolution", GetErrorMessage(r));
+
+ r = __pCamera->SetQuality(__pCamera->GetQuality());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetQuality", GetErrorMessage(r));
+
+ r = __pCamera->SetMeteringMode(__pCamera->GetMeteringMode());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetMeteringMode", GetErrorMessage(r));
- if (__exposureSliderValue != INIT)
+ if (__pCamera->GetFocusMode() != CAMERA_FOCUS_MODE_NONE)
{
- r = __pCamera->SetExposure(__exposureSliderValue);
- TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetExposure", GetErrorMessage(r));
+ r = __pCamera->SetFocusMode(__pCamera->GetFocusMode());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetFocusMode", GetErrorMessage(r));
}
+ r = __pCamera->SetFlashMode(__pCamera->GetFlashMode());
+ TryReturn(r == E_SUCCESS || r == E_UNSUPPORTED_OPERATION, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetFlashMode", GetErrorMessage(r));
+
+ r = __pCamera->SetSceneMode(__pCamera->GetSceneMode());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO),"[%s] __pCamera->SetSceneMode", GetErrorMessage(r));
+
+ __isSceneModeSet = (__pCamera->GetSceneMode() == CAMERA_SCENE_OFF)? false:true;
+
+ r = __pCamera->SetBrightness(__pCamera->GetBrightness());
+ TryReturn(r == E_SUCCESS, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetBrightness", GetErrorMessage(r));
+
+ r = __pCamera->SetContrast(__pCamera->GetContrast());
+ TryReturn(r == E_SUCCESS || r == E_UNSUPPORTED_OPERATION, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetContrast", GetErrorMessage(r));
+
+ r = __pCamera->SetExposure(__pCamera->GetExposure());
+ TryReturn(r == E_SUCCESS || r == E_UNSUPPORTED_OPERATION, ShowError(r, METHOD_FILE_LINENO), "[%s] __pCamera->SetExposure", GetErrorMessage(r));
+
return r;
}
TryCatch(r == E_SUCCESS, ,"[%s] AddButton - Preview Format", GetErrorMessage(r));
}
- TryCatch(__previewFormatIndex != INIT, ,"__previewFormatIndex value is wrong");
+ __previewFormatIndex = GetIndexFromValue(__pPreviewFormatList, __pCamera->GetPreviewFormat());
+ TryCatch(__previewFormatIndex != INIT, ,"GetIndexFromValue for __previewFormatIndex is -1");
ShowPopUp(__pPopupPreviewFormat);
__pListPreviewFormat->Draw();
exposure = __pCamera->GetExposure();
- if (__exposureSliderValue != exposure &&
- __exposureSliderValue != INIT)
- {
- exposure = __exposureSliderValue;
- }
-
__pExposureSlider->SetValue(exposure);
strTemp.Format(50, L"Exposure : %d", exposure);
__pExposureSlider->SetTitleText(strTemp);
brightness = __pCamera->GetBrightness();
- if (__brightnessSliderValue != brightness &&
- __brightnessSliderValue != INIT)
- {
- brightness = __brightnessSliderValue;
- }
-
__pBrightnessSlider->SetValue(brightness);
strTemp.Format(50, L"Brightness : %d", brightness);
__pBrightnessSlider->SetTitleText(strTemp);
contrast = __pCamera->GetContrast();
- if (__contrastSliderValue != contrast &&
- __contrastSliderValue != INIT)
- {
- contrast = __contrastSliderValue;
- }
-
__pContrastSlider->SetValue(contrast);
strTemp.Format(50, L"Contrast : %d", contrast);
__pContrastSlider->SetTitleText(strTemp);
}
int
+CameraCaptureForm::GetIndexFromValue(Tizen::Base::Collection::IListT< Tizen::Graphics::PixelFormat >* pList, int value)
+{
+ int count = pList->GetCount();
+ result r = E_SUCCESS;
+ Tizen::Graphics::PixelFormat valueInList = PIXEL_FORMAT_YCbCr420_PLANAR;
+ for (int index = 0; index < count; index++)
+ {
+ r = pList->GetAt(index, valueInList);
+ if (r == E_SUCCESS && valueInList == value)
+ {
+ AppLog("matching found at index = %d for value = %d", index, value);
+ return index;
+ }
+ }
+ AppLog("no matching for value = %d", value);
+
+ return INIT;
+
+}
+
+int
CameraCaptureForm::GetIndexFromValue(Tizen::Base::Collection::IList* pList, Tizen::Graphics::Dimension& value)
{
int count = pList->GetCount();