/*
* Copyright (c) 2007-2009 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: Contains constants which define the configuration of the camera
*
*/
#ifndef CAMSETTINGS_HRH
#define CAMSETTINGS_HRH
#include <pathconfiguration.hrh>
#include <bldvariant.hrh>
// DATA TYPES
// Ids for camera statup mode
// Values associated with the key "DefaultCaptureMode" for
// the shared.ini file
enum TCamStartupMode
{
ECamStillCapture,
ECamVideoCapture,
ECamBurstCapture
};
// Ids for different white balance settings
// Values associated with the key "UserSceneWhiteBalance" for
// the shared.ini file
enum TCamWhiteBalanceId
{
ECamWhiteBalanceAWB ,
ECamWhiteBalanceDaylight,
ECamWhiteBalanceCloudy,
ECamWhiteBalanceTungsten,
ECamWhiteBalanceFlourescent,
ECamWhiteBalanceMax
};
// Ids for different exposure values (dynamic)
// Values associated with the key "UserSceneExposure" for
// the shared.ini file
// IMPORTANT: These values must be in order from lowest
// to highest. Otherwise, the mapping function ConvertSettingsModelEvToCameraAPIEv
// will not work correctly.
enum TCamExposureId
{
ECamExposureMinusTwo = -4,
ECamExposureMinusOnePointFive = -3,
ECamExposureMinusOne = -2,
ECamExposureMinusPointFive = -1,
ECamExposureZero = 0,
ECamExposurePointFive = 1,
ECamExposureOne = 2,
ECamExposureOnePointFive = 3,
ECamExposureTwo = 4,
ECamExposureMax = ECamExposureTwo
};
// Ids for different colour filter settings
// Values associated with the key "UserSceneColourFilter" for
// the shared.ini file
enum TCamColourFilterId
{
ECamColourFilterColour,
ECamColourFilterBlackAndWhite,
ECamColourFilterSepia,
ECamColourFilterNegative,
ECamColourFilterVivid,
ECamColourFilterMax
};
// Ids for different flash settings
// Values associated with the key "UserSceneFlash" for
// the shared.ini file
enum TCamFlashId
{
ECamFlashOff,
ECamFlashAuto,
ECamFlashForced,
ECamFlashAntiRedEye,
ECamFlashLastItem
};
// Ids for different media storage
// Values associated with the keys "PhotoMemInUse" and "VideoMemInUse"
// for the shared.ini file
// ECamMediaStorageCurrent indicates use current media storage
// ECamMediaStorageNone indicates an uninitialised state
// IMPORTANT: These values are mapped in the camUtility file to
// CAknMemorySelectionDialog::TMemory values used in the settings list
// page for selecting the memory in use
enum TCamMediaStorage
{
ECamMediaStorageNone,
ECamMediaStoragePhone,
ECamMediaStorageCard,
ECamMediaStorageMassStorage,
ECamMediaStorageCurrent
};
// Ids for different light sensitivities
enum TCamLightSensitivityId
{
ECamLightSensitivityAuto,
ECamLightSensitivityLow,
ECamLightSensitivityLowMed,
ECamLightSensitivityMed,
ECamLightSensitivityMedHigh,
ECamLightSensitivityHigh
};
// <CAMERAAPP_CAPI_V2_MIGRATION>
// The actual ISO rate identifier.
// Mapped from TCamLightSensitivityId in product configuration.
enum TCamIsoRate
{
ECamIsoRateAuto = 0,
ECamIsoRate50 = 50,
ECamIsoRate100 = 100,
ECamIsoRate200 = 200,
ECamIsoRate400 = 400,
ECamIsoRate800 = 800,
ECamIsoRate1600 = 1600,
ECamIsoRate3200 = 3200
};
// </CAMERAAPP_CAPI_V2_MIGRATION>
// Ids for video clip length
// Values associated with the key "VideoClipLen" for the shared.ini file
enum TCamVideoClipLength
{
ECamVideoClipMax,
ECamVideoClipShort
};
// No/Yes settings options
// Values associated with the keys "PhotoStoreAlbum" and "VideoStoreAlbum"
// for the shared.ini file
enum TCamSettingsNoYes
{
ECamSettNo,
ECamSettYes
};
// On/off settings options
// Values associated with the keys "PhotoFocusPoint", "PhotoShowCaptured",
// "VideoAudRec" and "VideoShowCaptured", "ContinuosAutofocus" for the shared.ini file
enum TCamSettingsOnOff
{
ECamSettOn,
ECamSettOff
};
// Values for the settings of zoom.
enum TCamSettingsDigitalZoom
{
// If product does not support paused extended zoom, then only "normal continuous" and "exteneded continuous"
// options are available. The values are thenused as booleans so one of them needs to be zero ("false").
ECamSettDigZoomNormalCont = 0x00, // Basic digital zoom enabled, no pause on optical-digital zoom boundary
ECamSettDigZoomExtendCont = 0x01, // Extended zoom enabled, no pauses on zoom barriers
ECamSettDigZoomNormalPause = 0x02, // Basic digital zoom enabled, pause on optical-digital zoom boundary
ECamSettDigZoomExtendPause = 0x03, // Extended zoom enabled, pause on optical-digital-extended zoom boundaries
ECamSettDigZoomNone = 0x04 // Digital and extended zoom disabled
};
// Capture tone settings
// Values associated with the key "PhotoCaptureTone"
enum TCamSettingsCaptureTone
{
ECamSettTone1,
ECamSettTone2,
ECamSettTone3,
ECamSettTone4
};
// File name base type settings
// Values associated with the keys "ImgNamType" and "VidNamType" for
// the shared.ini file
enum TCamNameBaseType
{
ECamNameBaseDate,
ECamNameBaseText
};
// Ids for different brightness settings (dynamic)
enum TCamBrightnessId
{
ECamBrightnessNorm,
ECamBrightnessPlus,
ECamBrightnessNeg
};
// Ids for different contrast settings (dynamic)
enum TCamContrastId
{
ECamContrastNorm,
ECamContrastPlus,
ECamContrastNeg
};
// Ids for different self-timer settings (dynamic)
enum TCamSelfTimerId
{
ECamSelfTimerOff,
ECamSelfTimer2,
ECamSelfTimer10,
ECamSelfTimer20
};
// Ids for different image sharpness settings (dynamic)
enum TCamImageSharpnessId
{
ECamImageSharpnessHard,
ECamImageSharpnessNorm,
ECamImageSharpnessSoft
};
// Ids for different colour saturation settings (dynamic)
enum TCamColourSaturationId
{
ECamColourSaturationNorm,
ECamColourSaturationPlus,
ECamColourSaturationNeg
};
enum TCamFlickerCancellation
{
ECamFlickerCancellation50Hz,
ECamFlickerCancellation60Hz
};
enum TCamImageOrientation
{
ECamOrientation0,
ECamOrientation90,
ECamOrientation180,
ECamOrientation270,
ECamOrientationIgnore,
ECamOrientationCount
};
enum T2ndCamOrientation
{
E2ndCamUnknown,
E2ndCamAuto, // Follows qwerty state
E2ndCamPortraitForced,
E2ndCamLandscapeForced
};
enum TCameraSwitchRequired
{
ESwitchDone,
ESwitchToUnknown,
ESwitchPrimaryToSecondary,
ESwitchSecondaryToPrimary,
ESwitchSecondaryOrientation
};
#ifdef _DEBUG
#ifndef CAMERAAPP_PLUGIN_BUILD
const TUint16* const KCamOrientationNames[] =
{
(const TUint16* const)_S16("ECamOrientation0"),
(const TUint16* const)_S16("ECamOrientation90"),
(const TUint16* const)_S16("ECamOrientation180"),
(const TUint16* const)_S16("ECamOrientation270"),
(const TUint16* const)_S16("ECamOrientationIgnore")
};
__ASSERT_COMPILE( (sizeof(KCamOrientationNames)/sizeof(TUint16*)) == ECamOrientationCount );
#endif // CAMERAAPP_PLUGIN_BUILD
#endif // _DEBUG
#endif // CAMSETTINGS_HRH