Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <ECam.h>

Class TCameraInfo

class TCameraInfo;

Description

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.

Members

Defined in TCameraInfo:


Member enumerations


Enum TCameraOrientation

TCameraOrientation

Description

Possible directions in which the camera may point.

EOrientationOutwards

Outward pointing camera for taking pictures. Camera is directed away from the user.

EOrientationInwards

Inward pointing camera for conferencing. Camera is directed towards the user.

EOrientationMobile

Mobile camera capable of multiple orientations. Camera orientation may be changed by the user.

EOrientationUnknown

Camera orientation is not known.


Enum TOptions

TOptions

Description

Various flags describing the features available for a particular implementation

EViewFinderDirectSupported

View finder display direct-to-screen flag

EViewFinderBitmapsSupported

View finder bitmap generation flag

EImageCaptureSupported

Still image capture flag

EVideoCaptureSupported

Video capture flag

EViewFinderMirrorSupported

View finder display mirroring flag

EContrastSupported

Contrast setting flag

EBrightnessSupported

Brightness setting flag

EViewFinderClippingSupported

View finder clipping flag

EImageClippingSupported

Still image capture clipping flag

EVideoClippingSupported

Video capture clipping flag

[Top]


Member data


iHardwareVersion

TVersion iHardwareVersion;

Description

Version number and name of camera hardware.


iSoftwareVersion

TVersion iSoftwareVersion;

Description

Version number and name of camera software (device driver).


iOrientation

TCameraOrientation iOrientation;

Description

Orientation of this particular camera device.


iOptionsSupported

TUint32 iOptionsSupported;

Description

Bitfield of TOptions available


iFlashModesSupported

TUint32 iFlashModesSupported;

Description

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.


iExposureModesSupported

TUint32 iExposureModesSupported;

Description

The supported exposure modes.

This is a bitfield of CCamera::TExposure values.


iWhiteBalanceModesSupported

TUint32 iWhiteBalanceModesSupported;

Description

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

See also:


iMinZoom

TInt iMinZoom;

Description

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).


iMaxZoom

TInt iMaxZoom;

Description

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).


iMaxDigitalZoom

TInt iMaxDigitalZoom;

Description

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.


iMinZoomFactor

TReal32 iMinZoomFactor;

Description

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.


iMaxZoomFactor

TReal32 iMaxZoomFactor;

Description

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.


iMaxDigitalZoomFactor

TReal32 iMaxDigitalZoomFactor;

Description

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.


iNumImageSizesSupported

TInt iNumImageSizesSupported;

Description

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.


iImageFormatsSupported

TUint32 iImageFormatsSupported;

Description

The supported still image formats.

This is a bitfield of CCamera::TFormat values.


iNumVideoFrameSizesSupported

TInt iNumVideoFrameSizesSupported;

Description

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.


iNumVideoFrameRatesSupported

TInt iNumVideoFrameRatesSupported;

Description

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.


iVideoFrameFormatsSupported

TUint32 iVideoFrameFormatsSupported;

Description

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.


iMaxFramesPerBufferSupported

TInt iMaxFramesPerBufferSupported;

Description

Maximum number of frames per buffer that may be requested.


iMaxBuffersSupported

TInt iMaxBuffersSupported;

Description

Maximum number of buffers allowed