mmplugins/cameraplugins/source/testcamera/test_snapshot.cpp
author Shimizu Satoshi <s_shimizu@isb.co.jp>
Tue, 19 Oct 2010 11:48:59 +0900
branchRCL_3
changeset 64 92a82bc706f7
parent 0 40261b775718
permissions -rw-r--r--
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     1
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     2
// All rights reserved.
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     3
// This component and the accompanying materials are made available
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     4
// under the terms of the License "Symbian Foundation License v1.0"
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     5
// which accompanies this distribution, and is available
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     6
// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     7
//
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     8
// Initial Contributors:
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
     9
// Nokia Corporation - initial contribution.
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    10
//
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    11
// Contributors:
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    12
//
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    13
// Description:
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    14
// testsnapshot.cpp
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    15
// 
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    16
//
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    17
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    18
#include "test_snapshot.h"
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    19
#include <ecamerrors.h>
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    20
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    21
CTestCamSnapshot::CTestCamSnapshot(CTestCamera& aOwner): iOwner(aOwner), iSnapshotBuffer(iSnapshot)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    22
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    23
	Init();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    24
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    25
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    26
CTestCamSnapshot::~CTestCamSnapshot()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    27
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    28
	delete iSnapshotImage;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    29
	iSnapshotImage = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    30
	delete iSnapshotImageGc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    31
	iSnapshotImage = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    32
	delete iSnapshotImageDev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    33
	iSnapshotImageDev = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    34
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    35
	delete iSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    36
	iSnapshot = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    37
	delete iSnapshotGc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    38
	iSnapshotGc = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    39
	delete iSnapshotDev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    40
	iSnapshotDev = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    41
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    42
	iSupportedSnapshotRect.Close();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    43
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    44
	CDataGlobal* globalData = static_cast <CDataGlobal*> (Dll::Tls());
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    45
	if(globalData != NULL)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    46
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    47
		if(!globalData->iTestCamPresets && !globalData->iTestCamAdvSet && !globalData->iTestCamImgProc)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    48
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    49
			delete globalData;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    50
			Dll::FreeTls();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    51
			}	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    52
		else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    53
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    54
			globalData->iTestCamSnapshot = NULL;	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    55
			Dll::SetTls(globalData);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    56
			}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    57
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    58
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    59
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    60
CTestCamSnapshot* CTestCamSnapshot::NewL(CTestCamera& aOwner)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    61
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    62
	CDataGlobal* globalData = static_cast <CDataGlobal*> (Dll::Tls());
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    63
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    64
	if(globalData == NULL)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    65
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    66
		globalData = new (ELeave) CDataGlobal;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    67
		CleanupStack::PushL(globalData);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    68
		globalData->iSnapshotReferenceCount = 0;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    69
		globalData->iTestCamSnapshot = new (ELeave) CTestCamSnapshot(aOwner);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    70
		CleanupStack::PushL(globalData->iTestCamSnapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    71
		globalData->iTestCamSnapshot->ConstructL();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    72
		globalData->iTestCamSnapshot->iRefCount = 1;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    73
		User::LeaveIfError(Dll::SetTls(globalData));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    74
		CleanupStack::Pop(globalData->iTestCamSnapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    75
		CleanupStack::Pop(globalData);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    76
		return globalData->iTestCamSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    77
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    78
	else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    79
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    80
		if(globalData->iTestCamSnapshot == NULL)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    81
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    82
			globalData->iSnapshotReferenceCount = 0;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    83
			globalData->iTestCamSnapshot = new (ELeave) CTestCamSnapshot(aOwner);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    84
			CleanupStack::PushL(globalData->iTestCamSnapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    85
			globalData->iTestCamSnapshot->ConstructL();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    86
			globalData->iTestCamSnapshot->iRefCount = 1;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    87
			User::LeaveIfError(Dll::SetTls(globalData));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    88
			CleanupStack::Pop(globalData->iTestCamSnapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    89
			return globalData->iTestCamSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    90
			}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    91
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    92
		CTestCamSnapshot* self = globalData->iTestCamSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    93
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    94
		globalData->iSnapshotReferenceCount++;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    95
		self->iRefCount = globalData->iSnapshotReferenceCount + 1;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    96
		if (globalData->iSnapshotReferenceCount == KNumOfSnapshotExtensions-1 )
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    97
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    98
			globalData->iTestCamSnapshot = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
    99
			if(!globalData->iTestCamPresets && !globalData->iTestCamAdvSet && !globalData->iTestCamImgProc)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   100
				{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   101
				delete globalData;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   102
				Dll::FreeTls();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   103
				}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   104
			else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   105
				{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   106
				User::LeaveIfError(Dll::SetTls(globalData));	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   107
				}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   108
			}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   109
		else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   110
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   111
			User::LeaveIfError(Dll::SetTls(globalData));	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   112
			}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   113
		return self;		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   114
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   115
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   116
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   117
void CTestCamSnapshot::Release()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   118
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   119
	iRefCount--; 
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   120
	if(iRefCount == 0)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   121
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   122
		iOwner.iSnapshotImpl = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   123
		delete this;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   124
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   125
	}	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   126
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   127
void CTestCamSnapshot::Init()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   128
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   129
	iImageFormatsSupported = 0;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   130
	iImageFormatsSupported |= CCamera::EFormatFbsBitmapColor4K;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   131
	iImageFormatsSupported |= CCamera::EFormatFbsBitmapColor64K;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   132
	iImageFormatsSupported |= CCamera::EFormatFbsBitmapColor16M; 
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   133
	iSnapshotPrepared = EFalse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   134
	iSnapshotActive = EFalse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   135
	iBgColor = KRgbWhite;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   136
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   137
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   138
void CTestCamSnapshot::ConstructL()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   139
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   140
	iSupportedSnapshotRect.Reset();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   141
	iSupportedSnapshotRect.AppendL(TRect(TPoint(0,0), iOwner.iImageSizes[0]));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   142
	iSupportedSnapshotRect.AppendL(TRect(TPoint(0,0), iOwner.iImageSizes[1]));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   143
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   144
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   145
TUint32 CTestCamSnapshot::SupportedFormats()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   146
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   147
	return iImageFormatsSupported;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   148
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   149
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   150
void CTestCamSnapshot::PrepareSnapshotL(CCamera::TFormat aFormat, const TPoint& aPosition, const TSize& aSize, const TRgb& aBgColor, TBool /*aMaintainAspectRatio*/)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   151
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   152
	iOwner.CheckReserveAndPowerL();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   153
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   154
	if (iOwner.iVideoCaptureActive || iOwner.iImageCaptureActive)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   155
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   156
		User::Leave(KErrNotReady);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   157
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   158
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   159
	if (!(aFormat & iImageFormatsSupported) )
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   160
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   161
		User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   162
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   163
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   164
	//check if the snapshot size is supported
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   165
	TRect snapshot_rect = TRect(aPosition, aSize);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   166
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   167
	if(snapshot_rect != iSupportedSnapshotRect[0] && snapshot_rect != iSupportedSnapshotRect[1])
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   168
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   169
		User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   170
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   171
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   172
	if (iSnapshotPrepared
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   173
		&& iSnapshotFormat == aFormat
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   174
		&& iSnapshotImageRect == snapshot_rect
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   175
		&& iBgColor == aBgColor
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   176
		)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   177
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   178
		return;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   179
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   180
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   181
	TDisplayMode displayMode = ENone;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   182
	switch (aFormat)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   183
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   184
		case CCamera::EFormatFbsBitmapColor4K :
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   185
			displayMode = EColor4K;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   186
			break;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   187
		case CCamera::EFormatFbsBitmapColor64K :
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   188
			displayMode = EColor64K;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   189
			break;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   190
		case CCamera::EFormatFbsBitmapColor16M :
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   191
			displayMode = EColor16M;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   192
			break;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   193
		default :
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   194
			User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   195
			break;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   196
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   197
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   198
	delete iSnapshotImage;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   199
	iSnapshotImage = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   200
	delete iSnapshotImageGc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   201
	iSnapshotImageGc = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   202
	delete iSnapshotImageDev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   203
	iSnapshotImageDev = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   204
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   205
	iSnapshotImage = new(ELeave) CFbsBitmap;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   206
	User::LeaveIfError(iSnapshotImage->Create(aSize, displayMode));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   207
	iSnapshotImageDev = CFbsBitmapDevice::NewL(iSnapshotImage);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   208
	User::LeaveIfError(iSnapshotImageDev->CreateContext(iSnapshotImageGc));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   209
	iSnapshotImageGc->SetPenColor(KRgbBlack);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   210
	iSnapshotImageGc->SetPenSize(TSize(KFrameFeatureBorderThickness, KFrameFeatureBorderThickness));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   211
	iSnapshotImageGc->SetBrushColor(aBgColor);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   212
	iSnapshotImageGc->SetFaded(ETrue);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   213
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   214
	iSnapshotPrepared = ETrue;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   215
	iSnapshotImageRect = snapshot_rect;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   216
	iSnapshotFormat = aFormat;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   217
	iBgColor = aBgColor;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   218
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   219
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   220
void CTestCamSnapshot::PrepareSnapshotL(CCamera::TFormat /*aFormat*/, const TSize& /*aSize*/, TBool /*aMaintainAspectRatio*/)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   221
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   222
	User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   223
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   224
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   225
void CTestCamSnapshot::SetBgColorL(const TRgb& /*aBgColor*/)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   226
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   227
	User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   228
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   229
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   230
void CTestCamSnapshot::SetPositionL(const TPoint& /*aPosition*/)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   231
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   232
	User::Leave(KErrNotSupported);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   233
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   234
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   235
TBool CTestCamSnapshot::IsSnapshotActive() const
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   236
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   237
	return iSnapshotActive;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   238
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   239
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   240
void CTestCamSnapshot::StartSnapshot()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   241
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   242
	TInt error = iOwner.CheckReserveAndPower();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   243
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   244
	if(error == KErrNone)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   245
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   246
		if(!iSnapshotPrepared)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   247
			{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   248
			error = KErrNotReady;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   249
			}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   250
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   251
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   252
	if(error != KErrNone)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   253
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   254
		TECAMEvent ecamevent(KUidECamEventCameraSnapshot, error);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   255
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   256
		iOwner.iECamEvent = ecamevent;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   257
		iOwner.iHandleEventAsync.CallBack();	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   258
		return;	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   259
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   260
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   261
	delete iSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   262
	iSnapshot = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   263
	delete iSnapshotGc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   264
	iSnapshot = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   265
	delete iSnapshotDev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   266
	iSnapshotDev = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   267
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   268
	TRAP(error, DoStartSnapshotL());
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   269
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   270
	if(error != KErrNone)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   271
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   272
		TECAMEvent ecamevent(KUidECamEventCameraSnapshot, error);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   273
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   274
		iOwner.iECamEvent = ecamevent;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   275
		iOwner.iHandleEventAsync.CallBack();
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   276
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   277
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   278
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   279
void CTestCamSnapshot::DoStartSnapshotL()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   280
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   281
	CFbsBitmap* snapshot = new(ELeave) CFbsBitmap;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   282
	CleanupStack::PushL(snapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   283
	User::LeaveIfError(snapshot->Create(iSnapshotImageRect.Size(), iSnapshotImage->DisplayMode()));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   284
	CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL(snapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   285
	CleanupStack::PushL(dev);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   286
	CFbsBitGc* gc = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   287
	User::LeaveIfError(dev->CreateContext(gc));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   288
	CleanupStack::Pop(dev);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   289
	CleanupStack::Pop(snapshot);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   290
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   291
	iSnapshot = snapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   292
	iSnapshotDev = dev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   293
	iSnapshotGc = gc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   294
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   295
	iSnapshotActive = ETrue;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   296
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   297
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   298
void CTestCamSnapshot::StopSnapshot()
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   299
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   300
	delete iSnapshotGc;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   301
	iSnapshotGc = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   302
	delete iSnapshotDev;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   303
	iSnapshotDev = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   304
	delete iSnapshot;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   305
	iSnapshot = NULL;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   306
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   307
	iSnapshotActive = EFalse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   308
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   309
        	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   310
MCameraBuffer& CTestCamSnapshot::SnapshotDataL(RArray<TInt>& /*aFrameIndexOrder*/)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   311
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   312
	iSnapshotBuffer.iAvailable = EFalse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   313
	return iSnapshotBuffer;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   314
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   315
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   316
void CTestCamSnapshot::ServiceSnapshot(const CFbsBitGc& aSourceBitmapGc)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   317
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   318
	TInt error = KErrNone;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   319
	if(!iSnapshotBuffer.iAvailable)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   320
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   321
		error = KErrInUse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   322
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   323
	else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   324
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   325
		iSnapshotGc->BitBlt(TPoint(0,0), aSourceBitmapGc);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   326
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   327
			
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   328
	iOwner.iObserver2->HandleEvent(TECAMEvent(KUidECamEventCameraSnapshot, error));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   329
	}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   330
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   331
void CTestCamSnapshot::ServiceBurstImageSnapshot(const CFbsBitGc& aSourceBitmapGc)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   332
	{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   333
	TInt error = KErrNone;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   334
	if(!iSnapshotBuffer.iAvailable)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   335
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   336
		error = KErrInUse;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   337
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   338
	else
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   339
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   340
		iSnapshotGc->BitBlt(TPoint(0,0), aSourceBitmapGc);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   341
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   342
			
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   343
	iOwner.iObserver2->HandleEvent(TECAMEvent(KUidECamEventCameraSnapshot, error));
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   344
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   345
	User::After(500000);
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   346
	
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   347
	iOwner.iStillImagePos.iX += KFramePosIncrement;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   348
	iOwner.iStillImagePos.iY += KFramePosIncrement;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   349
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   350
	if (iOwner.iStillImagePos.iX >= iOwner.iStillImageSize.iWidth)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   351
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   352
		iOwner.iStillImagePos.iX = 0;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   353
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   354
		
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   355
	if (iOwner.iStillImagePos.iY >= iOwner.iStillImageSize.iHeight)
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   356
		{
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   357
		iOwner.iStillImagePos.iY = 0;
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   358
		}
92a82bc706f7 Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents: 0
diff changeset
   359
	}