camerauis/cameraapp/generic/common/inc/CamSettings.hrh
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:30:54 +0100
branchRCL_3
changeset 54 bac7acad7cb3
child 67 756ad29ed18e
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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,
    ECamSettToneOff
    };

// 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
    };

enum TCamEditorSupport
    {
    ECamNoEditorSupport,
    ECamEditorSupportInToolbar,
    ECamEditorSupportInOptions
    };
	
#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