|
||
class TCameraInfo;
Specifies camera device information.
If either zoom or digital zoom are available then the appropriate entries in this class will be set to indicate the range of values that they may take. This should be implemented such that a setting of zero corresponds to no zoom, and a step of one corresponds to the smallest increment available, in a linear fashion.
There are also zoom factors that correspond to the actual zoom factor when at minimum (non-digital only) and maximum zoom. Negative zoom values represent macro functionality.
Image capture, if supported, is simply a case of transferring the current image from the camera to the client via MCameraObserver::ImageReady(CFbsBitmap *,HBufC8 *,TInt)
. The camera class must set the iImageFormatsSupported bitfield to indicate the formats available.
Defined in TCameraInfo
:
EBrightnessSupported
Brightness setting flag EContrastSupported
Contrast setting flag EImageCaptureSupported
Still image capture flag EImageClippingSupported
Still image capture clipping flag EOrientationInwards
Inward pointing camera for conferencing. Camera is directed towards the user. EOrientationMobile
Mobile camera capable of multiple orientations. Camera orientation may be change...EOrientationOutwards
Outward pointing camera for taking pictures. Camera is directed away from the us...EOrientationUnknown
Camera orientation is not known. EVideoCaptureSupported
Video capture flag EVideoClippingSupported
Video capture clipping flag EViewFinderBitmapsSupported
View finder bitmap generation flag EViewFinderClippingSupported
View finder clipping flag EViewFinderDirectSupported
View finder display direct-to-screen flag EViewFinderMirrorSupported
View finder display mirroring flag TCameraOrientation
Possible directions in which the camera may point.TOptions
Various flags describing the features available for a particular implementationiExposureModesSupported
The supported exposure modes.iFlashModesSupported
The supported flash modes.iHardwareVersion
Version number and name of camera hardware. iImageFormatsSupported
The supported still image formats.iMaxBuffersSupported
Maximum number of buffers allowed iMaxDigitalZoom
Maximum digital zoom value allowed.iMaxDigitalZoomFactor
Image size multiplier corresponding to maximum digital zoom value.iMaxFramesPerBufferSupported
Maximum number of frames per buffer that may be requested. iMaxZoom
Maximum zoom value allowed.iMaxZoomFactor
Image size multiplier corresponding to maximum zoom value.iMinZoom
Minimum zoom value allowed.iMinZoomFactor
Image size multiplier corresponding to minimum zoom value.iNumImageSizesSupported
Count of still image capture sizes allowed.iNumVideoFrameRatesSupported
Count of video frame rates allowed.iNumVideoFrameSizesSupported
Count of video frame sizes allowed.iOptionsSupported
Bitfield of TOptions available iOrientation
Orientation of this particular camera device. iSoftwareVersion
Version number and name of camera software (device driver). iVideoFrameFormatsSupported
The supported video frame formats.iWhiteBalanceModesSupported
The supported white balance settings.TCameraOrientation
Possible directions in which the camera may point.
|
TOptions
Various flags describing the features available for a particular implementation
|
TUint32 iFlashModesSupported;
The supported flash modes.
This is a bitfield of CCamera::TFlash
values.
If methods CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
are not used to create the CCamera
object, it is assumed that the application may not be able to cope with any future additions to the enum values. So, any
unrecognised enum value passed from the implementation should be filtered by ECAM Implementation. To receive unrecognised/extra
added enum values, application should rather use CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
to create camera object. This is an indication to ECAM implementation. In this case, application is assumed to be prepared
to receive unrecognised enum values.
TUint32 iExposureModesSupported;
The supported exposure modes.
This is a bitfield of CCamera::TExposure
values.
TUint32 iWhiteBalanceModesSupported;
The supported white balance settings.
This is a bitfield of of CCamera::TWhiteBalance
values.
If methods CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
are not used to create the CCamera
object, it is assumed that the application may not be able to cope with any future additions to the enum values. So, any
unrecognised enum value passed from the implementation should be filtered by ECAM Implementation. To receive unrecognised/extra
added enum values, application should rather use CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
to create camera object. This is an indication to ECAM implementation. In this case, application is assumed to be prepared
to receive unrecognised enum values. Refer to CCamera::CCameraAdvancedSettings::SupportedWhiteBalanceModes()const
implementation
CCamera::CCameraAdvancedSettings::SupportedWhiteBalanceModes()const
Gets camera supported set of white balance adjustments.TInt iMinZoom;
Minimum zoom value allowed.
Must be negative, or zero if not supported.
This is the minimum value that may be passed to CCamera::SetZoomFactorL(TInt)
.
TInt iMaxZoom;
Maximum zoom value allowed.
Must be positive, or zero if not supported.
This is the maximum value that may be passed to CCamera::SetZoomFactorL(TInt)
.
TInt iMaxDigitalZoom;
Maximum digital zoom value allowed.
Must be positive, or zero if not supported.
This is the maximum value that may be passed to CCamera::SetDigitalZoomFactorL(TInt)
. Digital zoom factor is assumed to be a linear scale from 0 to iMaxDigitalZoom.
TReal32 iMinZoomFactor;
Image size multiplier corresponding to minimum zoom value.
Must be between 0 and 1 inclusive. Both 0 and 1 indicate that macro functionality is not supported.
TReal32 iMaxZoomFactor;
Image size multiplier corresponding to maximum zoom value.
May take the value 0, or values greater than or equal to 1. Both 0 and 1 indicate that zoom functionality is not supported.
TReal32 iMaxDigitalZoomFactor;
Image size multiplier corresponding to maximum digital zoom value.
Implementation recommendation is to use 'appropriate value' for maximum digital zoom which could cover only values given by new digital zoom methods based on image format and capture mode.
Must be greater than or equal to 1.
TInt iNumImageSizesSupported;
Count of still image capture sizes allowed.
Number of different image sizes that CCamera::EnumerateCaptureSizes(TSize &,TInt,TFormat)const
will support, based on the index passed in. Index must be between 0 and iNumImageSizesSupported-1.
TUint32 iImageFormatsSupported;
The supported still image formats.
This is a bitfield of CCamera::TFormat
values.
TInt iNumVideoFrameSizesSupported;
Count of video frame sizes allowed.
This is the number of different video frame sizes that CCamera::EnumerateVideoFrameSizes(TSize &,TInt,TFormat)const
will support, based on the specified index. The index must be between 0 and iNumVideoFrameSizesSupported-1.
TInt iNumVideoFrameRatesSupported;
Count of video frame rates allowed.
This is the number of different video frame rates that CCamera::EnumerateVideoFrameRates(TReal32 &,TInt,TFormat,TInt,TExposure)const
will support, based on the specified index. The index must be between 0 and iNumVideoFrameRatesSupported-1.
TUint32 iVideoFrameFormatsSupported;
The supported video frame formats.
This is a bitfield of video frame CCamera::TFormat
values.
If methods CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
are not used to create the CCamera
object, it is assumed that the application may not be able to cope with any future additions to the enum values. So, any
unrecognised enum value passed from the implementation should be filtered by the ECAM implementation. To receive unrecognised/extra
added enum values, the application should rather use CCamera::New2L(MCameraObserver2 &,TInt,TInt)
or CCamera::NewDuplicate2L(MCameraObserver2 &,TInt)
to create the camera object. This is an indication to the ECAM implementation. In this case, the application is assumed to
be prepared to receive unrecognised enum values.
TInt iMaxFramesPerBufferSupported;
Maximum number of frames per buffer that may be requested.
TInt iMaxBuffersSupported;
Maximum number of buffers allowed