class MCameraAdvancedSettings3 |
Mixin class for implementation by providers of 'some of the enhanced functionalities' of the Advanced Settings Camera Extension API.
Public Member Functions | |
---|---|
void | GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight &) |
void | GetDigitalZoomStepsForStillL(RArray< TInt > &, TValueInfo &, TInt, CCamera::TFormat, TBool &) |
void | GetDigitalZoomStepsForVideoL(RArray< TInt > &, TValueInfo &, TInt, TInt, CCamera::TFormat, TBool &, CCamera::TExposure) |
void | GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType &, TInt &, TInt &) |
void | GetPreCaptureWarningL(TInt &) |
void | GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode, TInt &) |
void | GetSupportedAFAssistantLightL(TInt &) |
void | GetSupportedISORateTypeL(TInt &) |
void | Release() |
void | SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight) |
void | SetISORate(CCamera::CCameraAdvancedSettings::TISORateType, TInt) |
void | SetReferenceScreen(CWsScreenDevice &) |
void | SubscribeToPreCaptureWarningL(TInt) |
void | UnSubscribePreCaptureWarningL() |
void | GetAFAssistantLightL | ( | CCamera::CCameraAdvancedSettings::TAFAssistantLight & | aAFAssistantLight | ) | const [pure virtual] |
Get the type ( and state) of AF assistant light currently set.
CCamera::CCameraAdvancedSettings::TAFAssistantLight & aAFAssistantLight | A reference to AF assistant light. If EAFAssistantLightOff, then manual and auto assistant light are switched off. If EAFAssistantLightManualOn, manual assistant light is switched on. If EAFAssistantLightAuto, AF assistant light is set to auto. |
void | GetDigitalZoomStepsForStillL | ( | RArray< TInt > & | aDigitalZoomSteps, |
TValueInfo & | aInfo, | |||
TInt | aSizeIndex, | |||
CCamera::TFormat | aFormat, | |||
TBool & | aIsInfluencePossible | |||
) | const [pure virtual] |
Get the digital zoom steps for the still image when a particular image format and size are specified.
This method retrieves the supported digital zoom steps irrespective of any stabilization influence. In case of stabilization etc. influence, the setting function should set the best possible digital zoom value and return error KErrECamDigitalZoomLimited along with dedicated event.
When camera device doesn't support this feature, empty array should be returned and TValueInfo should be ENotActive, and the corresponding getter/setters for this feature should not be used.
Implementation recommendation for old methods which are used to retrieve the supported digital zoom values, is to provide only safe values suitable in every cases.
RArray< TInt > & aDigitalZoomSteps | A reference to an empty array of TInt to hold digital zoom step values for still image and multiplied by KECamFineResolutionFactor to retain precision. If list returned is empty, this means feature is not supported. |
TValueInfo & aInfo | A reference to TValueInfo, which establishes the type of the returned data. |
TInt aSizeIndex | A value providing the size index which must be in the range 0 to TCameraInfo::iNumImageSizesSupported-1 inclusive. |
CCamera::TFormat aFormat | A value providing the image format which must be one of the formats supported. (see TCameraInfo::iImageFormatsSupported) |
TBool & aIsInfluencePossible | If True, signals that digital zoom step values may be influenced by some hardware factor like stabilization etc. If False, no influence possible. |
void | GetDigitalZoomStepsForVideoL | ( | RArray< TInt > & | aDigitalZoomSteps, |
TValueInfo & | aInfo, | |||
TInt | aFrameRateIndex, | |||
TInt | aSizeIndex, | |||
CCamera::TFormat | aFormat, | |||
TBool & | aIsInfluencePossible, | |||
CCamera::TExposure | aExposure | |||
) | const [pure virtual] |
Get the digital zoom steps for the video when a particular video frame format, size and rate are specified.
This method retrieves the supported digital zoom steps irrespective of any stabilization influence. In case of stabilization etc. influence, the setting function should set the best possible digital zoom value and return error KErrECamDigitalZoomLimited along with dedicated event.
When camera device doesn't support this, empty array should be returned and TValueInfo should be ENotActive, and the corresponding getter/setters for this feature should not be used.
Implementation recommendation for old methods which are used to retrieve the supported digital zoom values, is to provide only safe values suitable in every cases.
RArray< TInt > & aDigitalZoomSteps | A reference to an empty array of TInt to hold digital zoom step values for video and multiplied by KECamFineResolutionFactor to retain precision. If list returned is empty, this means feature is not supported. |
TValueInfo & aInfo | A reference to TValueInfo, which establishes the type of the returned data. |
TInt aFrameRateIndex | A value providing the rate index must be in the range 0 to TCameraInfo::iNumVideoFrameRatesSupported-1 inclusive. |
TInt aSizeIndex | A value providing the size index which must be in the range 0 to TCameraInfo::iNumVideoFrameSizesSupported-1 inclusive. |
CCamera::TFormat aFormat | A value providing the format which must be one of the video frame formats supported. (see TCameraInfo::iVideoFrameFormatsSupported) |
TBool & aIsInfluencePossible | If True, signals that digital zoom step values may be influenced by some hardware factor like stabilization etc. If False, no influence possible. |
CCamera::TExposure aExposure | The exposure mode. |
void | GetISORateL | ( | CCamera::CCameraAdvancedSettings::TISORateType & | aISORateType, |
TInt & | aParam, | |||
TInt & | aISORate | |||
) | const [pure virtual] |
Get the type of ISO rate, exposure parameter and value set.
Since camera hardware may be incapable of providing the actual ISO value when one of the auto ISO type has been set, then, in these cases, the 3rd argument should be retrieved as KErrNotFound.
CCamera::CCameraAdvancedSettings::TISORateType & aISORateType | A reference to the type of ISO rate set. EISONone means feature is not supported. |
TInt & aParam | Depending on the value of aISORateType, possible values of aParam are one of the following:- A reference to the redundant parameter in case of manual type of ISO rate(EISOManual) OR A reference to the redundant parameter in case of unprioritised type of auto ISO(EISOAutoUnPrioritised) OR A reference to the highest ISO rate that may be picked up in case of ISO prioritised type of auto ISO(EISOAutoISOPrioritised) OR A reference to the slowest shutter speed that may be picked up in case of shutter speed prioritised type of auto ISO(EISOAutoShutterSpeedPrioritised) OR A reference to the minimum aperture opening that may be picked up in case of aperture prioritised type of auto ISO(EISOAutoAperturePrioritised) |
TInt & aISORate | A reference to the value of ISO rate currently being used, if camera device is capable of doing that. Otherwise KErrNotFound should be retrieved indicating the incapability of camera. |
void | GetPreCaptureWarningL | ( | TInt & | aPreCaptureWarning | ) | const [pure virtual] |
Get the status of every warnings defined.
This method may be called after receiving the event KUidECamEventCameraSettingPreCaptureWarning OR user may also opt for polling on this.
TInt & aPreCaptureWarning | A reference to the integer - bitfield representing all the TPreCaptureWarning types issued. |
void | GetPreCaptureWarningSupportedL | ( | CCamera::CCameraAdvancedSettings::TCameraMode | aCameraMode, |
TInt & | aPreCaptureWarningSupported | |||
) | const [pure virtual] |
Retrieves the pre capture warnings supported for a given camera mode
CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode | Desired camera mode for which the supported pre capture warnings may be retrieved. |
TInt & aPreCaptureWarningSupported | A bitfield of all supported TPreCaptureWarning to be issued in the given camera mode. If no pre capture warning supported for the given camera mode, EPCWNone is retrieved. |
void | GetSupportedAFAssistantLightL | ( | TInt & | aSupportedAFAssistantLight | ) | const [pure virtual] |
Retrieve the different supported AF assistant light.
TInt & aSupportedAFAssistantLight | A reference to integer - bitfield indicating the supported AF assistant light. If EAFAssistantLightOff, this means AF assistant light is not supported. If EAFAssistantLightManualOn, then manual AF assistant light is supported. If EAFAssistantLightAuto, auto assistant light is supported. If combination of EAFAssistantLightManualOn||EAFAssistantLightAuto , then both manual and Auto assistant light are supported. |
void | GetSupportedISORateTypeL | ( | TInt & | aSupportedISORateTypes | ) | const [pure virtual] |
Gets all supported ISO types on the device.
TInt & aSupportedISORateTypes | A reference to an integer which is a bitfield of all supported TISORateType values. EISONone means feature is not supported. |
void | SetAFAssistantLight | ( | CCamera::CCameraAdvancedSettings::TAFAssistantLight | aAFAssistantLight | ) | [pure virtual] |
Set a particular type ( and state) of AF assistant light.
Triggers KUidECamEventCameraSettingAFAssistantLight to all MCameraObserver2 clients of the camera. Uses HandleEvent to report the result or any possible error.
CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight | Type of AF assistant light to be set. If EAFAssistantLightOff, switch off the manual or auto assistant light. If EAFAssistantLightManualOn, manually switch on the assistant light. If EAFAssistantLightAuto, camera will automatically switch it on/off as per the conditions. |
void | SetISORate | ( | CCamera::CCameraAdvancedSettings::TISORateType | aISORateType, |
TInt | aParam | |||
) | [pure virtual] |
Set the type of ISO rate and the exposure parameter or value specified.
Triggers KUidECamEventCameraSettingIsoRateType to all MCameraObserver2 clients of the camera. Uses HandleEvent to report the result or any possible error.
CCamera::CCameraAdvancedSettings::TISORateType aISORateType | The type of ISO rate to be set. |
TInt aParam | Depending on the value of aISORateType, possible values of aParam are one of the following:- The value of ISO rate to be used in case of manual type of ISO rate (EISOManual). OR Redundant parameter in case of unprioritised type of auto ISO (EISOAutoUnPrioritised). It is left to the camera hardware/firmware to decide how the ISO rate is selected. No priority regarding exposure is specified. OR Highest ISO rate to be picked by the camera while deciding for the best exposure in case of ISO prioritised type of auto ISO (EISOAutoISOPrioritised). ISO rate closest to this (and lower) may be used so that best possible exposure is achieved. OR Slowest shutter speed to be picked by the camera while deciding for the best exposure in case of shutter speed prioritised type of auto ISO (EISOAutoShutterSpeedPrioritised). After using this shutter speed, ISO rate is chosen by the camera to achieve proper exposure. Shutter speed closest to this (and faster) may be used so that best possible exposure is achieved. OR Minimum aperture opening (deepest depth of field) to be picked by the camera while deciding for the best exposure in case of aperture prioritised type of auto ISO (EISOAutoAperturePrioritised). After using this aperture opening, ISO rate is chosen by the camera to achieve proper exposure. Aperture opening closest to this (and wider) may be used to achieve best possible exposure. |
void | SetReferenceScreen | ( | CWsScreenDevice & | aScreenDevice | ) | [pure virtual] |
Provide reference screen for orientation information.
For consistency, when DSA view finder runs, it also provides a screen device. So, the DSA view finder's internal implementation should call this method with the screen device passed ( 2nd argument to DSA view finder) to avoid disparity in knowing the refeence screen. Triggers KUidECamEventCameraSettingReferenceScreen to all MCameraObserver2 clients of the camera. Uses HandleEvent to report the result or any possible error.
CWsScreenDevice & aScreenDevice | A reference to the screen device. |
void | SubscribeToPreCaptureWarningL | ( | TInt | aPreCaptureWarning | ) | [pure virtual] |
Subscribe in order to receive event which indicates warnings on occurrence of some specific unfavourable conditions before image/video capture.
When any of the subscribed warnings (represented by aPreCaptureWarning) get generated by the camera device, event KUidECamEventCameraSettingPreCaptureWarning is issued. TECAMEvent2 class should be used in order to provide the status of every PreCaptureWarning.
TInt aPreCaptureWarning | A bitfield specifying all the TPreCaptureWarning types to be subscribed for. |
void | UnSubscribePreCaptureWarningL | ( | ) | [pure virtual] |
Unsubscribe so that further events are not received when warnings get issued.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.