mmplugins/cameraplugins/source/webcamera/ecamwebcameraplugin.h
author Dario Sestito <darios@symbian.org>
Tue, 20 Jul 2010 11:22:23 +0100
branchECAM_2
changeset 35 ca251dbe8e03
parent 9 9ae0fe04e757
child 64 92a82bc706f7
permissions -rw-r--r--
Created ECAM_2 branch to host ISB development on ECAM stage 2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     1
/*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     2
* Copyright (c) 2010 ISB.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     3
* All rights reserved.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     5
* under the terms of the "Symbian Foundation License v1.0"
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     8
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     9
* Initial Contributors:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    10
* ISB - Initial contribution
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    11
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    12
* Contributors:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    13
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    14
* Description:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    15
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    16
*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    17
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    18
#ifndef ECAMWEBCAMERAPLUGIN_H
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    19
#define ECAMWEBCAMERAPLUGIN_H
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    20
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    21
#include <w32std.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    22
#include <bitdev.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    23
#include <ecam/ecamplugin.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    24
#include <ecam/ecaminfoplugin.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    25
#include <webcamera_driver.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    26
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    27
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    28
class CWebCameraBuffer;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    29
class CWebCameraActive;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    30
class CWebCameraVfActive;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    31
class CWebCameraAdvSet;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    32
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    33
/**  Min of Camera Zoom */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    34
const TInt KMinTestCameraZoom = -3;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    35
/**  Max of Camera Zoom */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    36
const TInt KMaxTestCameraZoom = 3;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    37
/**  Max of Camera Digital Zoom Factor */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    38
const TReal32 KMaxTestCameraDigitalZoomFactor = 1.0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    39
/**  Max of Camera Digital Zoom */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    40
const TInt KMaxTestCameraDigitalZoom = 0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    41
/**  Size of Viewfinder buffer, Capture buffer */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    42
const TInt KMaxBufSize = 1024 * 100;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    43
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    44
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    45
// Callback Class of WebCameraActive
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    46
class MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    47
	{
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    48
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    49
	virtual void ReserveCallBack(TInt aError) = 0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    50
	virtual void PowerOnCallBack(TInt aError) = 0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    51
	virtual void ImageCaptureCallBackL(TInt aError) = 0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    52
	};
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    53
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    54
// Callback Class of WebCameraVfActive
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    55
class MWebCameraVfActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    56
	{
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    57
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    58
	virtual void ViewFinderCallBack(TInt aError) = 0;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    59
	};
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    60
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    61
/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    62
 *  Perform WebCamera function.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    63
 */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    64
class CWebCamera : public CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    65
				 , public MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    66
				 , public MWebCameraVfActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    67
	{
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    68
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    69
	static CWebCamera* NewL();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    70
	~CWebCamera();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    71
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    72
protected:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    73
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    74
	//from CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    75
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    76
	from CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    77
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    78
	A call to one of the factory functions firstly loads the plugin, followed by a
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    79
	call to this function to complete construction.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    80
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    81
	Creates an object representing a camera.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    82
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    83
	@param  aObserver
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    84
	        Reference to class derived from MCameraObserver2 designed to receive
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    85
	        notification of asynchronous event completion.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    86
	@param	aCameraIndex
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    87
	        Index from 0 to CamerasAvailable()-1 inclusive specifying the
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    88
	        camera device to use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    89
	@return Pointer to a fully constructed CCamera object. Ownership is passed
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    90
	        to the caller.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    91
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    92
	@leave  May leave with KErrNoMemory or KErrNotSupported if aCameraIndex is
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    93
	        out of range.	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    94
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    95
	void Construct2L(MCameraObserver& aObserver,TInt aCameraIndex);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    96
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    97
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    98
	from CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    99
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   100
	A call to one of the factory functions firstly loads the plugin, followed by a
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   101
	call to this function to complete construction.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   102
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   103
	Duplicates the original camera object for use by, for example, multimedia systems.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   104
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   105
	May leave with KErrNoMemory or KErrNotFound if aCameraHandle is not valid.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   106
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   107
	@param  aObserver
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   108
	        Reference to an observer.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   109
	@param  aCameraHandle Handle of an existing camera object.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   110
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   111
	@return Duplicate of the original camera object. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   112
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   113
	void Construct2DupL(MCameraObserver& aObserver,TInt aCameraHandle);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   114
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   115
    /** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   116
	from CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   117
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   118
    A call to one of the factory functions firstly loads the plugin, followed by a
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   119
	call to this function to complete construction.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   120
    
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   121
	Creates an object representing a camera.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   122
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   123
	@param  aObserver
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   124
	        Reference to class derived from MCameraObserver2 designed to receive
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   125
	        notification of asynchronous event completion.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   126
	@param	aCameraIndex
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   127
	        Index from 0 to CamerasAvailable()-1 inclusive specifying the
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   128
	        camera device to use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   129
	@param	aPriority
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   130
	        Value from -100 to 100 indicating relative priority of client to
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   131
	        use camera.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   132
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   133
	@return Pointer to a fully constructed CCamera object. Ownership is passed
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   134
	        to the caller.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   135
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   136
	@leave  May leave with KErrNoMemory or KErrNotSupported if aCameraIndex is
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   137
	        out of range.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   138
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   139
	void Construct2L(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   140
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   141
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   142
	from CCameraPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   143
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   144
	Duplicates the original camera object for use by, for example, multimedia systems.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   145
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   146
	@leave  KErrNoMemory if out of memory.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   147
	@leave  KErrNotFound if aCameraHandle is not valid.	   
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   148
	@leave  KErrPermissionDenied if the application does not have
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   149
	        the UserEnvironment capability.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   150
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   151
	@param  aObserver
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   152
	        Reference to an observer.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   153
	@param  aCameraHandle Handle of an existing camera object.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   154
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   155
	@return Duplicate of the original camera object. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   156
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   157
	@capability	UserEnvironment
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   158
				An application that creates a CCamera object must have
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   159
				the UserEnvironment capability.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   160
				
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   161
	@note   Applications using this method to create camera object may not receive enums/uids added in future(after being baselined). 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   162
			To receive them, they should rather use New2L() or NewDuplicate2L(), in which case, they should prepare 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   163
			themselves to receive unrecognised values.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   164
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   165
	void Construct2DupL(MCameraObserver2& aObserver,TInt aCameraHandle);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   166
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   167
	// from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   168
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   169
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   170
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   171
	Gets information about the camera device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   172
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   173
	@param  aInfo 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   174
	        On return, information about the camera device. See TCameraInfo. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   175
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   176
	void CameraInfo(TCameraInfo& aInfo) const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   177
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   178
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   179
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   180
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   181
	Asynchronous function that performs any required initialisation and reserves
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   182
	the camera for exclusive use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   183
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   184
	Calls MCameraObserver:: ReserveComplete() when complete. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   185
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   186
	void Reserve();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   187
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   188
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   189
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   190
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   191
	De-initialises the camera, allowing it to be used by other clients. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   192
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   193
	void Release();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   194
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   195
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   196
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   197
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   198
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   199
	Asynchronous method to switch on camera power.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   200
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   201
	User must have successfully called Reserve() prior to calling this function.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   202
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   203
	Calls MCameraObserver::PowerOnComplete() when power on is complete. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   204
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   205
	void PowerOn();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   206
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   207
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   208
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   209
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   210
	Synchronous function for switching off camera power. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   211
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   212
	void PowerOff();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   213
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   214
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   215
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   216
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   217
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   218
	Gets the device-unique handle of this camera object.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   219
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   220
	@return  The device-unique handle of this camera object. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   221
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   222
	TInt Handle();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   223
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   224
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   225
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   226
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   227
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   228
	Sets the zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   229
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   230
	This must be in the range of TCameraInfo::iMinZoom to TCameraInfo::iMaxZoom
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   231
	inclusive. May leave with KErrNotSupported if the specified zoom factor is
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   232
	out of range.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   233
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   234
	@param aZoomFactor 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   235
	       Required zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   236
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   237
	void SetZoomFactorL(TInt aZoomFactor = 0);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   238
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   239
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   240
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   241
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   242
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   243
	Gets the currently set zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   244
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   245
	@return  The currently set zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   246
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   247
	TInt ZoomFactor() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   248
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   249
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   250
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   251
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   252
	Sets the digital zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   253
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   254
	This must be in the range of 0 to TCameraInfo::iMaxDigitalZoom inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   255
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   256
	May leave with KErrNotSupported if the zoom factor is out of range.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   257
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   258
	@param  aDigitalZoomFactor
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   259
	        The required digital zoom factor. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   260
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   261
	void SetDigitalZoomFactorL(TInt aDigitalZoomFactor = 0);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   262
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   263
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   264
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   265
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   266
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   267
	Gets the currently set digital zoom factor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   268
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   269
	@return  The currently set digital zoom factor. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   270
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   271
	TInt DigitalZoomFactor() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   272
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   273
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   274
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   275
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   276
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   277
	Sets the contrast adjustment of the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   278
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   279
	This must be in the range of -100 to +100 or EContrastAuto. May leave with
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   280
	KErrNotSupported if the specified contrast value is out of range.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   281
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   282
	@param  aContrast 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   283
	        Required contrast value. See TCameraInfo::iContrastSupported 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   284
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   285
	void SetContrastL(TInt aContrast);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   286
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   287
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   288
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   289
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   290
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   291
	Gets the currently set contrast value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   292
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   293
	@return  The currently set contrast value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   294
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   295
	TInt Contrast() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   296
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   297
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   298
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   299
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   300
	Sets the brightness adjustment of the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   301
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   302
	No effect if this is not supported, see TCameraInfo::iBrightnessSupported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   303
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   304
	This must be in the range of -100 to +100 or EBrightnessAuto. May leave
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   305
	with KErrNotSupported if the brightness adjustment is out of range.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   306
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   307
	@param  aBrightness
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   308
	        The required brightness adjustment. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   309
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   310
	void SetBrightnessL(TInt aBrightness);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   311
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   312
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   313
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   314
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   315
	Gets the currently set brightness adjustment value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   316
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   317
	@return  The currently set brightness adjustment value. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   318
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   319
	TInt Brightness() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   320
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   321
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   322
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   323
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   324
	Sets the flash mode.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   325
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   326
	No effect if this is not supported, see TCameraInfo::iFlashModesSupported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   327
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   328
	May leave with KErrNotSupported if the specified flash mode is invalid.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   329
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   330
	@param  aFlash
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   331
	        The required flash mode. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   332
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   333
	void SetFlashL(TFlash aFlash = EFlashNone);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   334
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   335
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   336
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   337
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   338
	Gets the currently set flash mode.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   339
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   340
	@return  The currently set flash mode. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   341
	@note	if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   342
    application is not prepared to receive extra added enum values (unrecognised). So, any extra enum value(unrecognised)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   343
    (set in the ECAM implementation because of sharing clients) should not be returned from the ECAM implementation.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   344
    To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   345
    to create camera object. ECAM implementation, after verifying this,(by checking version no.) may send new values, if set.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   346
    In this case, application is assumed to be prepared to receive unrecognised enum values.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   347
    
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   348
    @see CCamera::CCameraAdvancedSettings::FlashMode()	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   349
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   350
	TFlash Flash() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   351
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   352
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   353
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   354
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   355
	Sets the exposure adjustment of the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   356
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   357
	No effect if this is not supported, see CameraInfo::iExposureModesSupported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   358
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   359
	May leave with KErrNotSupported if the specified exposure adjustment is invalid.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   360
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   361
	@param  aExposure
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   362
	        The required exposure adjustment. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   363
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   364
	void SetExposureL(TExposure aExposure = EExposureAuto);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   365
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   366
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   367
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   368
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   369
	Gets the currently set exposure setting value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   370
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   371
	@return  The currently set exposure setting value. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   372
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   373
	TExposure Exposure() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   374
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   375
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   376
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   377
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   378
	Sets the white balance adjustment of the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   379
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   380
	No effect if this is not supported, see TCameraInfo::iWhiteBalanceModesSupported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   381
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   382
	@param  aWhiteBalance
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   383
	        The required white balance adjustment.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   384
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   385
	@leave  KErrNotSupported if the specified white balance adjustment
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   386
	        is invalid.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   387
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   388
	void SetWhiteBalanceL(TWhiteBalance aWhiteBalance = EWBAuto);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   389
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   390
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   391
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   392
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   393
	Gets the currently set white balance adjustment value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   394
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   395
	@return  The currently set white balance adjustment value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   396
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   397
	@note	if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   398
    application is not prepared to receive extra added enum values (unrecognised). So, any extra enum value(unrecognised)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   399
    (set in the ECAM implementation because of sharing clients) should not be returned from the ECAM implementation.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   400
    To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   401
    to create camera object. ECAM implementation, after verifying this,(by checking version no.) may send new values, if set.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   402
    In this case, application is assumed to be prepared to receive unrecognised enum values.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   403
    Refer  CCamera::CCameraAdvancedSettings::WhiteBalanceMode() implementation
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   404
    
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   405
    @see CCamera::CCameraAdvancedSettings::WhiteBalanceMode()
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   406
    */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   407
	TWhiteBalance WhiteBalance() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   408
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   409
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   410
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   411
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   412
	Starts transfer of view finder data to the given portion of the screen using
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   413
	direct screen access.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   414
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   415
	The aScreenRect parameter is in screen co-ordinates and may be modified if,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   416
	eg, the camera requires the destination to have a certain byte alignment, etc.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   417
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   418
    @param  aWs 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   419
	        Window server session.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   420
	@param  aScreenDevice 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   421
	        Screen device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   422
	@param  aWindow 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   423
	        Displayable window.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   424
	@param  aScreenRect 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   425
	        Portion of the screen to which view finder data is to be
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   426
	        transferred. This is in screen co-ordinates and may be modified if, for example,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   427
	        the camera requires the destination to have a certain byte alignment.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   428
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   429
	@leave  KErrNotReady if PowerOn() has either not
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   430
	        been called, or has not yet completed.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   431
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   432
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   433
			refer viewfinders started using CCamera methods. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   434
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   435
	@see	CCamera::CCameraV2DirectViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   436
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   437
	void StartViewFinderDirectL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,TRect& aScreenRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   438
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   439
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   440
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   441
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   442
	Starts transfer of view finder data to the given portion of the screen using
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   443
	direct screen access and also clips to the specified portion of the screen.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   444
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   445
	The view finder has the same size and position as aScreenRect but is only
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   446
	visible in the intersection of aScreenRect and aClipRect. May leave with KErrNotSupported
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   447
	or KErrNotReady if Reserve() has not been called, or has not yet completed.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   448
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   449
	@param  aWs 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   450
	        Window server session.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   451
	@param  aScreenDevice 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   452
	        Screen device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   453
	@param  aWindow 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   454
	        Displayable window.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   455
	@param  aScreenRect 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   456
	        Portion of the screen to which view finder data is to be
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   457
	        transferred. This is in screen co-ordinates and may be modified if, for example,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   458
	        the camera requires the destination to have a certain byte alignment.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   459
	@param  aClipRect
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   460
	        The rectangle to which the screen will be clipped.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   461
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   462
    @leave  KErrNotReady if PowerOn() hasn't been called successfully. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   463
    
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   464
    @note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   465
    		refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   466
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   467
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   468
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   469
	void StartViewFinderDirectL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,TRect& aScreenRect,TRect& aClipRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   470
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   471
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   472
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   473
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   474
	Starts transfer of view finder data.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   475
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   476
	Bitmaps are returned by MCameraObserver::ViewFinderFrameReady().
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   477
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   478
	@param  aSize 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   479
	        On return, the size used.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   480
	@leave  KErrNotReady if PowerOn() has not been called, or has not yet completed.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   481
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   482
	@note   This method is assumed to be meant for default display only. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   483
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   484
	@see	CCamera::CCameraClientViewFinder 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   485
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   486
	void StartViewFinderBitmapsL(TSize& aSize);	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   487
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   488
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   489
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   490
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   491
	Starts transfer of view finder data and clips the bitmap to the specified clip
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   492
	rectangle.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   493
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   494
	The bitmap is the size of the intersection of aSize and aClipRect, not simply
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   495
	aSize padded with white space.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   496
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   497
	@param  aSize
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   498
	        On return, the size used.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   499
	@param  aClipRect 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   500
	        Required clip rectangle. May be modified if, for example,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   501
	        the camera only supports certain byte alignments.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   502
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   503
	@leave  KErrInUse if Reserve() hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   504
	@leave  KErrNotReady if PowerOn() hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   505
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   506
	@note   This method is assumed to be meant for default display only. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   507
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   508
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   509
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   510
	void StartViewFinderBitmapsL(TSize& aSize,TRect& aClipRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   511
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   512
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   513
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   514
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   515
	Starts transfer of view finder data.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   516
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   517
	Picture data is returned by MCameraObserver2::ViewFinderReady().
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   518
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   519
	@param  aImageFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   520
	        The image format requested by the client.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   521
	@param  aSize 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   522
	        On return, the size used.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   523
	@leave  KErrNotSupported 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   524
	@leave  KErrNotReady if Reserve() has not been
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   525
	        called, or has not yet completed. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   526
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   527
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   528
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   529
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   530
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   531
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   532
	void StartViewFinderL(TFormat aImageFormat,TSize& aSize);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   533
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   534
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   535
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   536
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   537
	Starts transfer of view finder data and clips the picture to the specified clip
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   538
	rectangle. Picture data is returned by MCameraObserver2::ViewFinderReady().
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   539
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   540
	The picture is the size of the intersection of aSize and aClipRect, not simply
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   541
	aSize padded with white space.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   542
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   543
	@param  aImageFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   544
	        The image format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   545
	@param  aSize
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   546
	        On return, the size used.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   547
	@param  aClipRect 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   548
	        Required clip rectangle. May be modified if, for example,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   549
	        the camera only supports certain byte alignments.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   550
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   551
	@leave  KErrInUse if Reserve() hasn't been called successfully,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   552
	@leave  KErrNotReady if PowerOn() hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   553
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   554
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   555
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   556
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   557
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   558
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   559
	void StartViewFinderL(TFormat aImageFormat,TSize& aSize,TRect& aClipRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   560
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   561
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   562
	Stops transfer of view finder data to the screen. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   563
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   564
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   565
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   566
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   567
	@see	CCamera::CCameraV2DirectViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   568
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   569
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   570
	void StopViewFinder();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   571
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   572
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   573
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   574
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   575
	Queries whether the view finder is active.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   576
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   577
	@return  ETrue if the view finder is active. EFalse if the view finder is not
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   578
	         active. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   579
	         
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   580
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   581
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   582
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   583
	@see	CCamera::CCameraV2DirectViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   584
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   585
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   586
	TBool ViewFinderActive() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   587
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   588
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   589
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   590
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   591
	Sets whether view finder mirroring is on.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   592
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   593
	Used to switch between what the camera sees and what you would see if the
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   594
	device were a mirror.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   595
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   596
	@param  aMirror 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   597
	        ETrue to set mirroring on, EFalse to set mirroring off.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   598
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   599
	@leave  KErrNotSupported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   600
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   601
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   602
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   603
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   604
	@see	CCamera::CCameraV2DirectViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   605
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   606
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   607
	void SetViewFinderMirrorL(TBool aMirror);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   608
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   609
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   610
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   611
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   612
	Gets whether view finder mirroring is active.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   613
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   614
	@return  ETrue if mirroring is set, EFalse if mirroring is not set. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   615
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   616
	@note   This method is assumed to be meant for default display only. KECamDefaultViewFinderHandle should be used to 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   617
			refer viewfinders started using CCamera methods.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   618
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   619
	@see	CCamera::CCameraV2DirectViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   620
	@see	CCamera::CCameraClientViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   621
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   622
	TBool ViewFinderMirror() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   623
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   624
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   625
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   626
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   627
	Performs setup and allocation of memory.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   628
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   629
	Called prior to calling CaptureImage() to keep the latency of that function
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   630
	to a minimum.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   631
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   632
	Needs to be called only once for multiple CaptureImage() calls. May leave
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   633
	with KErrNotSupported or KErrNoMemory or KErrInUse or KErrNotReady.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   634
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   635
	The specified image format must be one of the formats supported
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   636
	(see TCameraInfo::iImageFormatsSupported).
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   637
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   638
	The specified size index must be in the range of 0 to TCameraInfo::iNumImageSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   639
	inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   640
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   641
	@param  aImageFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   642
	        The image format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   643
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   644
	        Size index.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   645
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   646
	@leave  KErrNotSupported
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   647
	@leave  KErrNoMemory
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   648
	@leave  KErrNotReady if PowerOn() hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   649
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   650
	@see 	CCamera::CCameraPreImageCaptureControl::PrepareImageCapture(TPrepareImageParameters aPrepareImageParameters)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   651
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   652
	void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   653
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   654
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   655
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   656
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   657
	Performs setup and allocation of memory and clips the image to the specified
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   658
	rectangle.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   659
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   660
	No effect unless TCameraInfo::iImageClippingSupported is set to ETrue. The
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   661
	image captured is the intersection of aClipRect and the rectangle from (0,0)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   662
	to aSize. Needs to be called only once for multiple CaptureImage() calls.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   663
	May leave with KErrNotSupported or KErrNoMemory.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   664
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   665
	The specified image format must be one of the formats supported (see TCameraInfo::iImageFormatsSupported).
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   666
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   667
	The specified size index must be in the range of 0 to TCameraInfo::iNumImageSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   668
	inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   669
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   670
	@param  aImageFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   671
	        The image format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   672
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   673
	        Size index.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   674
	@param  aClipRect
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   675
	        The rectangle to which the image is to be clipped.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   676
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   677
	@leave   KErrNotSupported
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   678
	@leave   KErrNoMemory
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   679
	@leave   KErrInUse if Reserve() hasn't been called successfully
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   680
	@leave   KErrNotReady if PowerOn()
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   681
	         hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   682
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   683
	@see 	CCamera::CCameraPreImageCaptureControl::PrepareImageCapture(TPrepareImageParameters aPrepareImageParameters)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   684
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   685
	void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex,const TRect& aClipRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   686
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   687
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   688
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   689
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   690
	Asynchronously performs still image capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   691
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   692
	Calls MCameraObserver::ImageReady() when complete. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   693
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   694
	@see CCamera::CCameraImageCapture
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   695
	@see CCamera::CCameraPreImageCaptureControl
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   696
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   697
	void CaptureImage();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   698
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   699
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   700
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   701
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   702
	Cancels the asynchronous still image capture. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   703
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   704
	@see CCamera::CCameraImageCapture
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   705
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   706
	void CancelCaptureImage();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   707
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   708
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   709
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   710
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   711
	Enumerates through the available image capture sizes, based on the specified
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   712
	size index and format
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   713
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   714
	The size index must be in the range 0 to TCameraInfo::iNumImageSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   715
	inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   716
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   717
	@param  aSize 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   718
	        Image size.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   719
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   720
	        Size index.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   721
	@param  aFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   722
	        The image format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   723
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   724
	void EnumerateCaptureSizes(TSize& aSize,TInt aSizeIndex,TFormat aFormat) const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   725
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   726
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   727
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   728
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   729
	Prepares for video capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   730
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   731
	Performs setup and allocation of memory prior to calling StartVideoCapture()
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   732
	to keep the latency of that function to a minimum.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   733
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   734
	May leave with KErrNotSupported or KErrNoMemory.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   735
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   736
	@param  aFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   737
	        Format must be one of the video frame formats supported (see
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   738
	        TCameraInfo::iVideoFrameFormatsSupported).
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   739
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   740
	        Size index  must be in the range 0 to TCameraInfo::iNumVideoFrameSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   741
	        inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   742
	@param  aRateIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   743
	        The rate must be in the range 0 to TCameraInfo::iNumVideoFrameRatesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   744
	        inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   745
	@param  aBuffersToUse 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   746
	        The number of discrete buffers to use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   747
	@param  aFramesPerBuffer 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   748
	        How large the buffers are to be. Must be less than
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   749
	        or equal to TCameraInfo::iMaxFramesPerBufferSupported. One buffer is returned
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   750
	        to MCameraObserver::FrameBufferReady() at a time.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   751
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   752
	@leave  May leave with KErrNotSupported, KErrNoMemory, or KErrNotReady if PowerOn() 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   753
			hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   754
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   755
	@see 	CCamera::CCameraVideoCaptureControl::PrepareVideoCapture(const TPrepareVideoParameters& aPrepareVideoParameters)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   756
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   757
	void PrepareVideoCaptureL(TFormat aFormat,TInt aSizeIndex,TInt aRateIndex,TInt aBuffersToUse,TInt aFramesPerBuffer);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   758
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   759
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   760
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   761
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   762
	Prepares for video capture and clips the frames to the given rectangle.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   763
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   764
	Performs setup and allocation of memory prior to calling StartVideoCapture()
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   765
	to keep the latency of that function to a minimum.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   766
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   767
	May leave with KErrNotSupported or KErrNoMemory.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   768
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   769
	@param  aFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   770
	        Format must be one of the video frame formats supported (see
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   771
	        TCameraInfo::iVideoFrameFormatsSupported).
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   772
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   773
	        Size index must be in the range 0 to TCameraInfo::iNumVideoFrameSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   774
	        inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   775
	@param  aRateIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   776
	        The rate must be in the range 0 to TCameraInfo::iNumVideoFrameRatesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   777
	        inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   778
	@param  aBuffersToUse 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   779
	        The number of discrete buffers to use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   780
	@param  aFramesPerBuffer 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   781
	        How large the buffers are to be. Must be less than
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   782
	        or equal to TCameraInfo::iMaxFramesPerBufferSupported. One buffer is returned
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   783
	        to MCameraObserver::FrameBufferReady() at a time.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   784
	@param  aClipRect 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   785
	        The rectangle to which the image is to be clipped.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   786
	@leave  KErrNotSupported
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   787
	@leave  KErrNoMemory, 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   788
	@leave  KErrInUse if Reserve() hasn't been called successfully
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   789
	@leave  KErrNotReady if PowerOn() hasn't been called successfully.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   790
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   791
	@see 	CCamera::CCameraVideoCaptureControl::PrepareVideoCapture(const TPrepareVideoParameters& aPrepareVideoParameters)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   792
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   793
	void PrepareVideoCaptureL(TFormat aFormat,TInt aSizeIndex,TInt aRateIndex,TInt aBuffersToUse,TInt aFramesPerBuffer,const TRect& aClipRect);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   794
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   795
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   796
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   797
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   798
	Starts capturing video.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   799
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   800
	Calls MCameraObserver::FrameBufferReady() when each buffer has been filled
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   801
	with the required number of frames, as set by PrepareVideoCaptureL(). 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   802
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   803
	void StartVideoCapture();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   804
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   805
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   806
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   807
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   808
	Stops video capture. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   809
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   810
	void StopVideoCapture();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   811
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   812
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   813
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   814
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   815
	Tests whether video capture is active.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   816
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   817
	@return  ETrue if video capture is active. EFalse if video capture is not active 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   818
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   819
	TBool VideoCaptureActive() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   820
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   821
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   822
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   823
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   824
	Enumerates through the available video frame sizes, based on the specified
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   825
	size index and format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   826
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   827
	@param  aSize 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   828
	        On return the available video frame sizes. Sizes should be returned
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   829
	        in order, largest first, so clients do not have to iterate through every one.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   830
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   831
	        Size index. Must be in the range 0 to TCameraInfo::iNumVideoFrameSizesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   832
	        inclusive
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   833
	@param  aFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   834
	        Image format. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   835
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   836
	void EnumerateVideoFrameSizes(TSize& aSize,TInt aSizeIndex,TFormat aFormat) const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   837
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   838
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   839
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   840
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   841
	Enumerates through the available video frame rates, based on the specified
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   842
	rate index, video frame format, size index and exposure mode.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   843
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   844
	@param  aRate 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   845
	        On return, the available video frame rates. Some rates may not
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   846
	        be available due to, for example, current flash mode setting. In those cases
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   847
	        a rate of 0 will be returned. Rates should be returned in order, highest first,
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   848
	        so clients do not have to iterate through every one.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   849
	@param  aRateIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   850
	        The rate index. Must be in the range 0 to TCameraInfo::iNumVideoFrameRatesSupported-1
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   851
	        inclusive.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   852
	@param  aFormat 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   853
	        The format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   854
	@param  aSizeIndex 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   855
	        The size index.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   856
	@param  aExposure 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   857
	        The exposure mode. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   858
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   859
	void EnumerateVideoFrameRates(TReal32& aRate,TInt aRateIndex,TFormat aFormat,TInt aSizeIndex,TExposure aExposure = EExposureAuto) const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   860
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   861
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   862
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   863
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   864
	Gets the frame size currently in use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   865
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   866
	@param  aSize 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   867
	        The frame size currently in use. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   868
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   869
	void GetFrameSize(TSize& aSize) const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   870
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   871
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   872
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   873
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   874
	Gets the frame rate currently in use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   875
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   876
	@return  The frame rate currently in use. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   877
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   878
	TReal32 FrameRate() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   879
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   880
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   881
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   882
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   883
	Gets the number of buffers currently in use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   884
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   885
	@return  The number of buffers currently in use. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   886
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   887
	TInt BuffersInUse() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   888
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   889
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   890
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   891
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   892
	Gets the number of frames per buffer currently in use.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   893
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   894
	@return  The number of frames per buffer currently in use. 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   895
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   896
	TInt FramesPerBuffer() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   897
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   898
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   899
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   900
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   901
	Sets the quality value to use if jpeg is a supported image for video format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   902
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   903
	Ignored if jpeg is not a supported image for video format.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   904
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   905
	@param  aQuality
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   906
	        The quality value to use, clamped to the range 1 to 100.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   907
	        
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   908
	@see	CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters::iImageMaxMemorySize
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   909
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   910
	void SetJpegQuality(TInt aQuality);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   911
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   912
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   913
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   914
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   915
	Gets the currently set jpeg quality value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   916
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   917
	Returns 0 if not supported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   918
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   919
	@return The currently set jpeg quality value.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   920
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   921
	@see    CCamera::CCameraPreImageCaptureControl::GetImageMaxMemorySizeL(TUint& aMemorySize)
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   922
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   923
	TInt JpegQuality() const;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   924
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   925
    /**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   926
	from CCamera
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   927
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   928
	Gets a custom interface. The client has to cast the returned pointer
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   929
	to the appropriate type.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   930
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   931
	@param aInterface
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   932
		   The Uid of the particular interface function required.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   933
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   934
	@return Custom interface pointer. NULL if the requested interface is not supported.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   935
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   936
	TAny* CustomInterface(TUid aInterface);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   937
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   938
private:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   939
	CWebCamera();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   940
	void ConstructL();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   941
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   942
private: // from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   943
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   944
	from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   945
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   946
	CallBack function of the Reserve
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   947
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   948
	virtual void ReserveCallBack(TInt aError);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   949
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   950
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   951
	from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   952
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   953
	CallBack function of the PowerOn
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   954
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   955
	virtual void PowerOnCallBack(TInt aError);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   956
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   957
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   958
	from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   959
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   960
	CallBack function of the ImageCapture
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   961
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   962
	virtual void ImageCaptureCallBackL(TInt aError);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   963
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   964
private: // from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   965
	/**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   966
	from MWebCameraActiveCallBack
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   967
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   968
	CallBack function of the ViewFinder
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   969
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   970
	virtual void ViewFinderCallBack(TInt aError);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   971
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   972
private:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   973
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   974
	RWebcameraDevice		iDriver;			///< Camera driver.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   975
	MCameraObserver*		iObserver;			///< The callback 'notify' party
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   976
	MCameraObserver2*		iObserver2;			///< The callback 'notify' party(V2).
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   977
	CWebCameraActive*		iActive;			///< For async demand.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   978
	CWebCameraVfActive*		iVfActive;			///< For viewfinder.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   979
	CWebCameraAdvSet* 		iAdvSettingsImpl;	///< Expansion setting class.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   980
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   981
	TCameraInfo				iInfo;				///< Camera Information.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   982
	TInt					iCameraIndex;		///< Camera Index.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   983
	TInt					iCameraHandle;		///< Camera handle.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   984
	TInt					iPriority;			///< priority.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   985
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   986
	TBool					iReserved;			///< Reserved Flag.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   987
	TBool					iPowerOn;			///< PowerOn Flag.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   988
	TBool					iImageCaptureActive;///< Flag during the still image .
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   989
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   990
	CWebCameraBuffer*		iCaptureCameraBuf;	///< Camera buffer for capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   991
	CFbsBitmap*				iCaptureBitmap;		///< Bitmap Data for capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   992
	HBufC8*					iCaptureBuf;		///< Data buffer for capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   993
	TPtr8					iCaptureBufPtr;		///< pointer to Data buffer for capture.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   994
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   995
	RArray<TSize>			iImageSizes;		///< Image size.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   996
	};
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   997
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   998
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
   999
class CWebCameraInfo : public CCameraInfoPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1000
	{
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1001
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1002
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1003
    /**
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1004
     * Two-phased constructor.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1005
     */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1006
	static CWebCameraInfo* NewL();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1007
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1008
	/**> Destructor */
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1009
	~CWebCameraInfo();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1010
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1011
// from CCameraInfoPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1012
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1013
	/** 
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1014
	from CCameraInfoPlugin
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1015
	
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1016
	Determines the number of cameras on the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1017
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1018
    @return Count of cameras present on the device.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1019
	*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1020
	TInt CamerasAvailable();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1021
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1022
private:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1023
	CWebCameraInfo();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1024
	};
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1025
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1026
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
  1027
#endif // ECAMWEBCAMERAPLUGIN_H