diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraxui/cxengine/src/cxescenemodestore.cpp --- a/camerauis/cameraxui/cxengine/src/cxescenemodestore.cpp Tue Aug 31 15:03:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,397 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include "cxescenemodestore.h" -#include "cxutils.h" -#include "cxenamespace.h" -#include "cxeautofocuscontrol.h" -#include "cxeexception.h" - -using namespace Cxe; - -/*! - * Constructor. - */ -CxeSceneModeStore::CxeSceneModeStore() -{ - CX_DEBUG_ENTER_FUNCTION(); - loadImageScenes(); - loadVideoScenes(); - - mCurrentImageScene = mImageSceneModes[Cxe::IMAGE_SCENE_AUTO]; - mCurrentVideoScene = mVideoSceneModes[Cxe::VIDEO_SCENE_AUTO]; - - CX_DEBUG_EXIT_FUNCTION(); -} - -/*! - * Destructor. - */ -CxeSceneModeStore::~CxeSceneModeStore() -{ - CX_DEBUG_IN_FUNCTION(); -} - -/*! -* Returns scene setting value from current scene. -* @param cameraMode Camera mode used to determine which scene mode to use -* @param key Settings key -* @param[out] value Value associated with the key -* @return Error id. CxeError::None if no errors. -*/ -CxeError::Id CxeSceneModeStore::sceneSettingValue(Cxe::CameraMode cameraMode, const QString &key, QVariant &value) const -{ - CX_DEBUG_ENTER_FUNCTION(); - - CxeScene scene; - CxeError::Id err = CxeError::None; - - if(cameraMode == Cxe::ImageMode) { - CX_DEBUG(( "CxeSceneModeStore::sceneSettingValue - Image mode Setting")); - scene = mCurrentImageScene; - } else { - CX_DEBUG(( "CxeSceneModeStore::sceneSettingValue - Video mode Setting")); - scene = mCurrentVideoScene; - } - - if (scene.contains(key)) { - value = scene[key]; - } else { - err = CxeError::NotFound; - } - - - CX_DEBUG_EXIT_FUNCTION(); - - return err; -} - -/*! -* Sets new value to settings specific to the scene to the current scene. -* @param cameraMode Camera mode used to determine which scene mode to use -* @param key - setting id. -* @param newValue - new setting value -* @return Error id. CxeError::None if no errors. -*/ -CxeError::Id CxeSceneModeStore::setSceneSettingValue(Cxe::CameraMode cameraMode, const QString &key, const QVariant &newValue) -{ - CX_DEBUG_ENTER_FUNCTION(); - - CxeError::Id err = CxeError::None; - CxeScene *scene(0); - - if (cameraMode == Cxe::ImageMode) { - CX_DEBUG(( "CxeSettingsImp::setSceneSettingValue - Image mode Setting")); - scene = &mCurrentImageScene; - } else { - CX_DEBUG(( "CxeSettingsImp::setSceneSettingValue - Video mode Setting")); - scene = &mCurrentVideoScene; - } - - if (scene && scene->contains(key)) { - CX_DEBUG(( "CxeSettingsImp::setSceneSettingValue KEY found, writing value")); - scene->insert(key, newValue); - } else { - err = CxeError::NotFound; - } - - CX_DEBUG_EXIT_FUNCTION(); - - return err; -} - -/*! - * Returns id of current scene. - * @param cameraMode Camera mode used to determine which scene mode to use - * @return id of current scene mode - */ -QString CxeSceneModeStore::currentSceneId(Cxe::CameraMode cameraMode) const -{ - if (cameraMode == Cxe::ImageMode) { - return mCurrentImageScene[CxeSettingIds::SCENE_ID].toString(); - } else { - return mCurrentVideoScene[CxeSettingIds::SCENE_ID].toString(); - } -} -/*! - * Returns current scene mode. - * @param cameraMode Camera mode used to determine which scene mode to use - * @return Current scene mode - */ -CxeScene& CxeSceneModeStore::currentScene(Cxe::CameraMode cameraMode) -{ - CX_DEBUG_ENTER_FUNCTION(); - if (cameraMode == Cxe::ImageMode) { - CX_DEBUG_EXIT_FUNCTION(); - return mCurrentImageScene; - } else { - CX_DEBUG_EXIT_FUNCTION(); - return mCurrentVideoScene; - } -} - -/*! - * Returns current scene mode. Overloaded const version. - */ -const CxeScene& CxeSceneModeStore::currentScene(Cxe::CameraMode cameraMode) const -{ - CX_DEBUG_ENTER_FUNCTION(); - if (cameraMode == Cxe::ImageMode) { - CX_DEBUG_EXIT_FUNCTION(); - return mCurrentImageScene; - } else { - CX_DEBUG_EXIT_FUNCTION(); - return mCurrentVideoScene; - } -} -/*! - * Set current scene mode. - * @param cameraMode Camera mode used to determine which scene mode to use - * @sceneId id of the scene mode to set - */ -void CxeSceneModeStore::setCurrentScene(Cxe::CameraMode cameraMode, const QString &sceneId) -{ - CX_DEBUG_ENTER_FUNCTION(); - CX_DEBUG(("Setting scene mode: %s", sceneId.toAscii().data())); - // @todo check that scene is valid - if (cameraMode == Cxe::ImageMode) { - if (!mImageSceneModes.contains(sceneId)) { - throw CxeException(CxeError::NotFound); - } - mCurrentImageScene = mImageSceneModes[sceneId]; - } else { - if (!mVideoSceneModes.contains(sceneId)) { - throw CxeException(CxeError::NotFound); - } - mCurrentVideoScene = mVideoSceneModes[sceneId]; - } - CX_DEBUG_EXIT_FUNCTION(); -} - -/*! - * Returns scene mode based on id. - * @param cameraMode Camera mode used to determine which scene mode to use - * @param sceneId id of the scene mode - * @return scene mode - */ -CxeScene CxeSceneModeStore::getScene(Cxe::CameraMode cameraMode, const QString &sceneId) const -{ - CX_DEBUG_ENTER_FUNCTION(); - CX_DEBUG(("Getting scene mode: %s", sceneId.toAscii().data())); - if (cameraMode == Cxe::ImageMode) { - if (!mImageSceneModes.contains(sceneId)) { - throw CxeException(CxeError::NotFound); - } - CX_DEBUG_EXIT_FUNCTION(); - return mImageSceneModes[sceneId]; - } else { - if (!mVideoSceneModes.contains(sceneId)) { - throw CxeException(CxeError::NotFound); - } - CX_DEBUG_EXIT_FUNCTION(); - return mVideoSceneModes[sceneId]; - } -} - -/*! -* Loads all Image Scene Modes -*/ -void CxeSceneModeStore::loadImageScenes() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mImageSceneModes.clear(); - - CxeScene imgSceneAuto; - - imgSceneAuto.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_AUTO); - imgSceneAuto.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Auto); - imgSceneAuto.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgSceneAuto.insert(CxeSettingIds::EXPOSURE_MODE, ExposureAuto); - imgSceneAuto.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgSceneAuto.insert(CxeSettingIds::CONTRAST, 0); - imgSceneAuto.insert(CxeSettingIds::SHARPNESS, SharpnessNormal); - imgSceneAuto.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgSceneAuto.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgSceneAuto.insert(CxeSettingIds::BRIGHTNESS, 0); - imgSceneAuto.insert(CxeSettingIds::FLASH_MODE, FlashAuto); - imgSceneAuto.insert(CxeSettingIds::FACE_TRACKING, 1); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_AUTO, imgSceneAuto); - - - CxeScene imgSceneSports; - - imgSceneSports.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_SPORTS); - imgSceneSports.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Hyperfocal); - imgSceneSports.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgSceneSports.insert(CxeSettingIds::EXPOSURE_MODE, ExposureSport); - imgSceneSports.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgSceneSports.insert(CxeSettingIds::CONTRAST, 0); - imgSceneSports.insert(CxeSettingIds::SHARPNESS, SharpnessNormal); - imgSceneSports.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgSceneSports.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgSceneSports.insert(CxeSettingIds::BRIGHTNESS, 0); - imgSceneSports.insert(CxeSettingIds::FLASH_MODE, FlashOff); - imgSceneSports.insert(CxeSettingIds::FACE_TRACKING, 0); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_SPORTS, imgSceneSports); - - - CxeScene imgSceneCloseUp; - - imgSceneCloseUp.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_MACRO); - imgSceneCloseUp.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Macro); - imgSceneCloseUp.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgSceneCloseUp.insert(CxeSettingIds::EXPOSURE_MODE, ExposureAuto); - imgSceneCloseUp.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgSceneCloseUp.insert(CxeSettingIds::CONTRAST, 0); - imgSceneCloseUp.insert(CxeSettingIds::SHARPNESS, SharpnessNormal); - imgSceneCloseUp.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgSceneCloseUp.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgSceneCloseUp.insert(CxeSettingIds::BRIGHTNESS, 0); - imgSceneCloseUp.insert(CxeSettingIds::FLASH_MODE, FlashAuto); - imgSceneCloseUp.insert(CxeSettingIds::FACE_TRACKING, 0); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_MACRO, imgSceneCloseUp); - - CxeScene imgPortraitscene; - - imgPortraitscene.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_PORTRAIT); - imgPortraitscene.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Portrait); - imgPortraitscene.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgPortraitscene.insert(CxeSettingIds::EXPOSURE_MODE, ExposureBacklight); - imgPortraitscene.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgPortraitscene.insert(CxeSettingIds::CONTRAST, 0); - imgPortraitscene.insert(CxeSettingIds::SHARPNESS, SharpnessSoft); - imgPortraitscene.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgPortraitscene.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgPortraitscene.insert(CxeSettingIds::BRIGHTNESS, 0); - imgPortraitscene.insert(CxeSettingIds::FLASH_MODE, FlashAntiRedEye); - imgPortraitscene.insert(CxeSettingIds::FACE_TRACKING, 1); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_PORTRAIT, imgPortraitscene); - - CxeScene imglandscapescene; - - imglandscapescene.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_SCENERY); - imglandscapescene.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Infinity); - imglandscapescene.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceSunny); - imglandscapescene.insert(CxeSettingIds::EXPOSURE_MODE, ExposureAuto); - imglandscapescene.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imglandscapescene.insert(CxeSettingIds::CONTRAST, 0); - imglandscapescene.insert(CxeSettingIds::SHARPNESS, SharpnessHard); - imglandscapescene.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imglandscapescene.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imglandscapescene.insert(CxeSettingIds::BRIGHTNESS, 0); - imglandscapescene.insert(CxeSettingIds::FLASH_MODE, FlashOff); - imglandscapescene.insert(CxeSettingIds::FACE_TRACKING, 0); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_SCENERY, imglandscapescene); - - - CxeScene imgNightscene; - - imgNightscene.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_NIGHT); - imgNightscene.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Auto); - imgNightscene.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgNightscene.insert(CxeSettingIds::EXPOSURE_MODE, ExposureNight); - imgNightscene.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgNightscene.insert(CxeSettingIds::CONTRAST, 0); - imgNightscene.insert(CxeSettingIds::SHARPNESS, SharpnessNormal); - imgNightscene.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgNightscene.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgNightscene.insert(CxeSettingIds::BRIGHTNESS, 0); - imgNightscene.insert(CxeSettingIds::FLASH_MODE, FlashOff); - imgNightscene.insert(CxeSettingIds::FACE_TRACKING, 1); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_NIGHT, imgNightscene); - - CxeScene imgNightpotraitscene; - - imgNightpotraitscene.insert(CxeSettingIds::SCENE_ID, Cxe::IMAGE_SCENE_NIGHTPORTRAIT); - imgNightpotraitscene.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Portrait); - imgNightpotraitscene.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - imgNightpotraitscene.insert(CxeSettingIds::EXPOSURE_MODE, ExposureNight); - imgNightpotraitscene.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - imgNightpotraitscene.insert(CxeSettingIds::CONTRAST, 0); - imgNightpotraitscene.insert(CxeSettingIds::SHARPNESS, SharpnessNormal); - imgNightpotraitscene.insert(CxeSettingIds::LIGHT_SENSITIVITY, LightSensitivityAutomatic); - imgNightpotraitscene.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - imgNightpotraitscene.insert(CxeSettingIds::BRIGHTNESS, 0); - imgNightpotraitscene.insert(CxeSettingIds::FLASH_MODE, FlashAntiRedEye); - imgNightpotraitscene.insert(CxeSettingIds::FACE_TRACKING, 1); - - mImageSceneModes.insert(Cxe::IMAGE_SCENE_NIGHTPORTRAIT, imgNightpotraitscene); - - CX_DEBUG_EXIT_FUNCTION(); -} - - -/*! -* Loads all video scene modes -*/ -void CxeSceneModeStore::loadVideoScenes() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mVideoSceneModes.clear(); - - CxeScene vidSceneAuto; - - vidSceneAuto.insert(CxeSettingIds::SCENE_ID, Cxe::VIDEO_SCENE_AUTO); - vidSceneAuto.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Hyperfocal); - vidSceneAuto.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - vidSceneAuto.insert(CxeSettingIds::EXPOSURE_MODE, ExposureAuto); - vidSceneAuto.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - vidSceneAuto.insert(CxeSettingIds::CONTRAST, 0); - vidSceneAuto.insert(CxeSettingIds::FRAME_RATE, 0); - vidSceneAuto.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - - mVideoSceneModes.insert(Cxe::VIDEO_SCENE_AUTO,vidSceneAuto); - - - CxeScene vidSceneNight; - - vidSceneNight.insert(CxeSettingIds::SCENE_ID, Cxe::VIDEO_SCENE_NIGHT); - vidSceneNight.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Hyperfocal); - vidSceneNight.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - vidSceneNight.insert(CxeSettingIds::EXPOSURE_MODE, ExposureNight); - vidSceneNight.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - vidSceneNight.insert(CxeSettingIds::CONTRAST, 0); - vidSceneNight.insert(CxeSettingIds::FRAME_RATE, 0); - vidSceneNight.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - - mVideoSceneModes.insert(Cxe::VIDEO_SCENE_NIGHT, vidSceneNight); - - - CxeScene vidSceneLowLight; - - vidSceneLowLight.insert(CxeSettingIds::SCENE_ID, Cxe::VIDEO_SCENE_LOWLIGHT); - vidSceneLowLight.insert(CxeSettingIds::FOCAL_RANGE, CxeAutoFocusControl::Hyperfocal); - vidSceneLowLight.insert(CxeSettingIds::WHITE_BALANCE, WhitebalanceAutomatic); - vidSceneLowLight.insert(CxeSettingIds::EXPOSURE_MODE, ExposureAuto); - vidSceneLowLight.insert(CxeSettingIds::COLOR_TONE, ColortoneNormal); - vidSceneLowLight.insert(CxeSettingIds::CONTRAST, 0); - vidSceneLowLight.insert(CxeSettingIds::FRAME_RATE, 15); //fps - vidSceneLowLight.insert(CxeSettingIds::EV_COMPENSATION_VALUE, 0); - - mVideoSceneModes.insert(Cxe::VIDEO_SCENE_LOWLIGHT, vidSceneLowLight); - - - CX_DEBUG_EXIT_FUNCTION(); -}