mmplugins/cameraplugins/testapp/testcameraapps60/src/TestCameraApp.cpp
branchRCL_3
changeset 64 92a82bc706f7
parent 9 9ae0fe04e757
--- a/mmplugins/cameraplugins/testapp/testcameraapps60/src/TestCameraApp.cpp	Thu Mar 25 11:21:36 2010 +0900
+++ b/mmplugins/cameraplugins/testapp/testcameraapps60/src/TestCameraApp.cpp	Tue Oct 19 11:48:59 2010 +0900
@@ -1,389 +1,404 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <eikenv.h>
-#include <TestCameraApp.rsg>
-#include "TestCameraApp.h"
-#include "TestCameraApp.hrh"
-
-const TInt KMaxErrLength=50;
-_LIT(KErrorFormat,"Error - %d (%S)");
-
-//
-//  CTCamAppUi
-//
-
-void CTCamAppUi::ConstructL()
-	{
-	RDebug::Print(_L("CTCamAppUi::ConstructL()_S"));
-
-    BaseConstructL();
-	iAppView = new(ELeave) CTCamAppView;
-	iAppView->ConstructL(ClientRect());
-	AddToStackL(iAppView);
-
-	RDebug::Print(_L("CTCamAppUi::ConstructL() CCamera::NewL()_S"));
-	iCamera = CCamera::NewL(*this,0);
-	RDebug::Print(_L("CTCamAppUi::ConstructL() CCamera::NewL()_E"));
-
-	RDebug::Print(_L("CTCamAppUi::ConstructL() iCamera->Reserve()_S"));
-	iCamera->Reserve();
-	RDebug::Print(_L("CTCamAppUi::ConstructL() iCamera->Reserve()_E"));
-
-	RDebug::Print(_L("CTCamAppUi::ConstructL()_E"));
-	}
-
-CTCamAppUi::~CTCamAppUi()
-	{
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi()_S"));
-
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() iCamera->Release()_S"));
-	iCamera->Release();
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() iCamera->Release()_E"));
-
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() delete iCamera_S"));
-	delete iCamera;
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() delete iCamera_E"));
-
-	if (iAppView)
-		{
-		RemoveFromStack(iAppView);
-		delete iAppView;
-		}
-	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi()_E"));
-	}
-
-void CTCamAppUi::HandleCommandL(TInt aCommand)
-	{
-	switch (aCommand)
-		{
-	case ETCamCmdPowerOn:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdPowerOn)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOn()_S"));
-		iCamera->PowerOn();
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOn()_E"));
-		break;
-
-	case ETCamCmdPowerOff:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdPowerOff)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOff()_S"));
-		iCamera->PowerOff();
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOff()_E"));
-		break;
-
-	case ETCamCmdViewFinder:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdViewFinder)"));
-
-		ViewFinderL();
-		break;
-
-	case ETCamCmdCaptureImage:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdCaptureImage)"));
-
-		CaptureImageL();
-		break;
-
-	case ETCamCmdCaptureVideo:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdCaptureVideo)"));
-
-		CaptureVideoL();
-		break;
-
-	case ETCamCmdIncBrightness:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdIncBrightness)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
-		iCamera->SetBrightnessL(iCamera->Brightness() + 10);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
-		break;
-
-	case ETCamCmdIncContrast:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdIncContrast)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
-		iCamera->SetContrastL(iCamera->Contrast() + 10);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
-		break;
-
-	case ETCamCmdDecBrightness:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdDecBrightness)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
-		iCamera->SetBrightnessL(iCamera->Brightness() - 10);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
-		break;
-
-	case ETCamCmdDecContrast:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdDecContrast)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
-		iCamera->SetContrastL(iCamera->Contrast() - 10);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
-		break;
-
-	case ETCamCmdResetBrightness:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdResetBrightness)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
-		iCamera->SetBrightnessL(0);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
-		break;
-
-	case ETCamCmdResetContrast:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdResetContrast)"));
-
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
-		iCamera->SetContrastL(0);
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
-		break;
-
-	case EAknSoftkeyBack:
-		RDebug::Print(_L("CTCamAppUi::HandleCommandL(EAknSoftkeyBack)"));
-
-		Exit();
-		break;
-		}
-	}
-
-void CTCamAppUi::ViewFinderL()
-	{
-	TSize imageSize;
-
-	RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->EnumerateCaptureSizes()_S"));
-	iCamera->EnumerateCaptureSizes(imageSize,1,CCamera::EFormatFbsBitmapColor16M);
-	RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->EnumerateCaptureSizes()_E"));
-
-	const TPoint pos = iAppView->DrawBorders(imageSize);
-	TRect screenRect(pos,imageSize);
-	TRect clipRect;
-
-	if (!iCamera->ViewFinderActive())
-		{
-		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StartViewFinderDirectL()_S"));
-		iCamera->StartViewFinderDirectL(iCoeEnv->WsSession(),*iCoeEnv->ScreenDevice(),*iAppView->DrawableWindow(),screenRect,clipRect);
-		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StartViewFinderDirectL()_E"));
-		}
-	else
-		{
-		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StopViewFinder()_S"));
-		iCamera->StopViewFinder();
-		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StopViewFinder()_E"));
-		}
-	}
-
-void CTCamAppUi::CaptureImageL()
-	{
-	TSize size;
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->EnumerateCaptureSizes()_S"));
-	iCamera->EnumerateCaptureSizes(size,1,CCamera::EFormatFbsBitmapColor16M);
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->EnumerateCaptureSizes()_E"));
-
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->PrepareImageCaptureL()_S"));
-	iCamera->PrepareImageCaptureL(CCamera::EFormatFbsBitmapColor16M,1);
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->PrepareImageCaptureL()_E"));
-
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->CaptureImage()_S"));
-	iCamera->CaptureImage();
-	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->CaptureImage()_E"));
-	}
-
-void CTCamAppUi::CaptureVideoL()
-	{
-	if (!iCamera->VideoCaptureActive())
-		{
-		TSize size;
-		TReal32 rate = 0;
-		iCamera->EnumerateVideoFrameSizes(size,0,CCamera::EFormatFbsBitmapColor16M);
-		iCamera->EnumerateVideoFrameRates(rate,0,CCamera::EFormatFbsBitmapColor16M,0);
-		iCamera->PrepareVideoCaptureL(CCamera::EFormatFbsBitmapColor16M,0,0,2,1);
-		iCamera->StartVideoCapture();
-		}
-	else
-		iCamera->StopVideoCapture();
-	}
-
-void CTCamAppUi::ReserveComplete(TInt /*aError*/)
-	{
-	RDebug::Print(_L("CTCamAppUi::ReserveComplete()"));
-	}
-
-void CTCamAppUi::PowerOnComplete(TInt /*aError*/)
-	{
-	RDebug::Print(_L("CTCamAppUi::PowerOnComplete()"));
-	}
-
-void CTCamAppUi::ViewFinderFrameReady(CFbsBitmap& /*aFrame*/)
-	{
-	}
-
-void CTCamAppUi::ImageReady(CFbsBitmap* aBitmap,HBufC8* /*aData*/,TInt aError)
-	{
-	RDebug::Print(_L("CTCamAppUi::ImageReady()_S"));
-
-	TBuf<KMaxErrLength> msgBuffer;
-	_LIT(KErrMessage,"CTCamAppUi::ImageReady");
-	if (aBitmap)
-		{
-		iAppView->DrawImage(aBitmap);
-		delete aBitmap;
-		}
-	if (aError)
-		{
-		msgBuffer.Format(KErrorFormat,aError,&KErrMessage);
-		iEikonEnv->InfoMsg(msgBuffer);
-		}
-
-	RDebug::Print(_L("CTCamAppUi::ImageReady()_E"));
-	}
-
-void CTCamAppUi::FrameBufferReady(MFrameBuffer* aFrameBuffer,TInt aError)
-	{
-	RDebug::Print(_L("CTCamAppUi::FrameBufferReady()_S"));
-
-	TBuf<KMaxErrLength> msgBuffer;
-	_LIT(KErrMessage,"CTCamAppUi::FrameBufferReady");
-	if (aError)
-		{
-		msgBuffer.Format(KErrorFormat,aError,&KErrMessage);
-		iEikonEnv->InfoMsg(msgBuffer);
-		return;
-		}
-	TRAPD(error,iAppView->DrawImage(aFrameBuffer->FrameL(0)));
-	aFrameBuffer->Release();
-	if (error)
-		{
-		msgBuffer.Format(KErrorFormat,error,&KErrMessage);
-		iEikonEnv->InfoMsg(msgBuffer);
-		}
-
-	RDebug::Print(_L("CTCamAppUi::FrameBufferReady()_E"));
-	}
-
-//_LIT(KContrastDialogTitle,"Contrast");
-//_LIT(KBrightnessDialogTitle,"Brightness");
-
-//
-// CTCamAppView
-//
-
-CTCamAppView::CTCamAppView():
-	CCoeControl()
-	{}
-
-void CTCamAppView::ConstructL(const TRect& aRect)
-	{
-	CreateWindowL();
-    SetRect(aRect);
-	EnableDragEvents();
-	ActivateL();
-	}
-
-CTCamAppView::~CTCamAppView()
-	{}
-
-void CTCamAppView::DrawImage(CFbsBitmap* aImage) const
-	{
-	CWindowGc& gc = SystemGc();
-	gc.Activate(Window());
-	TRect drawRect(Rect());
-	TPoint pos;
-	pos.iX = (drawRect.iBr.iX - aImage->SizeInPixels().iWidth) / 2;
-//	pos.iY = (drawRect.iBr.iY - aImage->SizeInPixels().iHeight) / 2;
-	pos.iY = ((drawRect.iBr.iY + 122) - aImage->SizeInPixels().iHeight) / 2;
-	gc.BitBlt(pos,aImage);
-	gc.Deactivate();
-	iCoeEnv->WsSession().Flush();
-	}
-
-void CTCamAppView::Draw(const TRect& /*aRect*/) const
-	{
-	CWindowGc& gc = SystemGc();
-	TRect drawRect(Rect());
-	drawRect.Shrink(1,1);
-	gc.DrawRect(drawRect);
-	gc.Clear();
-	}
-
-TPoint CTCamAppView::DrawBorders(const TSize& aSize) const
-	{
-	CWindowGc& gc = SystemGc();
-	gc.Activate(Window());
-	TRect drawRect(Rect());
-	TPoint pos;
-	pos.iX = (drawRect.iBr.iX - aSize.iWidth) / 2;
-//	pos.iY = (drawRect.iBr.iY - aSize.iHeight) / 2;
-	pos.iY = ((drawRect.iBr.iY + 122) - aSize.iHeight) / 2;
-	TRect border(pos,aSize);
-	border.Grow(1,1);
-	gc.SetPenColor(KRgbBlack);
-	gc.DrawRect(border);
-	gc.Deactivate();
-	iCoeEnv->WsSession().Flush();
-	return pos;
-	}
-
-//
-// CTCamDocument
-//
-
-CTCamDocument::CTCamDocument(CEikApplication& aApp)
-		: CAknDocument(aApp)
-	{
-	}
-
-CEikAppUi* CTCamDocument::CreateAppUiL()
-	{
-	RDebug::Print(_L("CTCamDocument::CreateAppUiL()"));
-    return (static_cast<CEikAppUi*>(new (ELeave) CTCamAppUi));
-	}
-
-//
-// CTCamApp
-//
-
-TUid CTCamApp::AppDllUid() const
-	{
-	return TUid::Uid(KUidTestCameraApp);
-	}
-
-CApaDocument* CTCamApp::CreateDocumentL()
-	{
-//	return new(ELeave) CTCamDocument(*this);
-	RDebug::Print(_L("CTCamApp::CreateDocumentL()"));
-	return (static_cast<CApaDocument*>(new(ELeave) CTCamDocument(*this)));
-	}
-
-
-//
-// Base factory function
-//
-
-#include <eikstart.h>
-LOCAL_C CApaApplication* NewApplication()
-	{
-	RDebug::Print(_L("CApaApplication* NewApplication()"));
-	return new CTCamApp;
-	}
-
-//
-// EXE Entry point
-//
-
-GLDEF_C TInt E32Main()
-	{
-	return EikStart::RunApplication(NewApplication);
-	}
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <eikenv.h>
+#include <TestCameraApp.rsg>
+#include "TestCameraApp.h"
+#include "TestCameraApp.hrh"
+
+const TInt KMaxErrLength=50;
+_LIT(KErrorFormat,"Error - %d (%S)");
+
+//
+//  CTCamAppUi
+//
+
+void CTCamAppUi::ConstructL()
+	{
+	RDebug::Print(_L("CTCamAppUi::ConstructL()_S"));
+
+    BaseConstructL();
+	iAppView = new(ELeave) CTCamAppView;
+	iAppView->ConstructL(ClientRect());
+	AddToStackL(iAppView);
+
+	RDebug::Print(_L("CTCamAppUi::ConstructL() CCamera::NewL()_S"));
+	iCamera = CCamera::NewL(*this,0);
+	RDebug::Print(_L("CTCamAppUi::ConstructL() CCamera::NewL()_E"));
+
+	RDebug::Print(_L("CTCamAppUi::ConstructL() iCamera->Reserve()_S"));
+	iCamera->Reserve();
+	RDebug::Print(_L("CTCamAppUi::ConstructL() iCamera->Reserve()_E"));
+
+	RDebug::Print(_L("CTCamAppUi::ConstructL()_E"));
+	}
+
+CTCamAppUi::~CTCamAppUi()
+	{
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi()_S"));
+
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() iCamera->Release()_S"));
+	iCamera->Release();
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() iCamera->Release()_E"));
+
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() delete iCamera_S"));
+	delete iCamera;
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi() delete iCamera_E"));
+
+	if (iAppView)
+		{
+		RemoveFromStack(iAppView);
+		delete iAppView;
+		}
+	RDebug::Print(_L("CTCamAppUi::~CTCamAppUi()_E"));
+	}
+
+void CTCamAppUi::HandleCommandL(TInt aCommand)
+	{
+	switch (aCommand)
+		{
+	case ETCamCmdPowerOn:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdPowerOn)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOn()_S"));
+		iCamera->PowerOn();
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOn()_E"));
+		break;
+
+	case ETCamCmdPowerOff:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdPowerOff)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOff()_S"));
+		iCamera->PowerOff();
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->PowerOff()_E"));
+		break;
+
+	case ETCamCmdViewFinder:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdViewFinder)"));
+
+		ViewFinderL();
+
+		break;
+
+	case ETCamCmdCaptureImage:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdCaptureImage)"));
+
+		CaptureImageL();
+		break;
+
+	case ETCamCmdCaptureVideo:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdCaptureVideo)"));
+
+		CaptureVideoL();
+		break;
+
+	case ETCamCmdIncBrightness:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdIncBrightness)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
+		iCamera->SetBrightnessL(iCamera->Brightness() + 10);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
+		break;
+
+	case ETCamCmdIncContrast:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdIncContrast)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
+		iCamera->SetContrastL(iCamera->Contrast() + 10);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
+		break;
+
+	case ETCamCmdDecBrightness:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdDecBrightness)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
+		iCamera->SetBrightnessL(iCamera->Brightness() - 10);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
+		break;
+
+	case ETCamCmdDecContrast:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdDecContrast)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
+		iCamera->SetContrastL(iCamera->Contrast() - 10);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
+		break;
+
+	case ETCamCmdResetBrightness:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdResetBrightness)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_S"));
+		iCamera->SetBrightnessL(0);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetBrightnessL()_E"));
+		break;
+
+	case ETCamCmdResetContrast:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(ETCamCmdResetContrast)"));
+
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_S"));
+		iCamera->SetContrastL(0);
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL() iCamera->SetContrastL()_E"));
+		break;
+
+	case EAknSoftkeyBack:
+		RDebug::Print(_L("CTCamAppUi::HandleCommandL(EAknSoftkeyBack)"));
+
+		Exit();
+		break;
+		}
+	}
+
+void CTCamAppUi::ViewFinderL()
+	{
+	TSize imageSize;
+
+	RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->EnumerateCaptureSizes()_S"));
+	iCamera->EnumerateCaptureSizes(imageSize,1,CCamera::EFormatFbsBitmapColor16M);
+	RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->EnumerateCaptureSizes()_E"));
+
+	const TPoint pos = iAppView->DrawBorders(imageSize);
+	iScreenRect.SetRect(pos, imageSize);
+
+	TRect clipRect;
+
+	if (!iCamera->ViewFinderActive())
+		{
+		iCamera->StartViewFinderDirectL(iCoeEnv->WsSession(),*iCoeEnv->ScreenDevice(),*iAppView->DrawableWindow(),iScreenRect, clipRect);
+		}
+	else
+		{
+//		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StopViewFinder()_S"));
+//		iCamera->StopViewFinder();
+//		RDebug::Print(_L("CTCamAppUi::ViewFinderL() iCamera->StopViewFinder()_E"));
+		}
+	}
+
+void CTCamAppUi::CaptureImageL()
+	{
+	TSize size;
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->EnumerateCaptureSizes()_S"));
+	iCamera->EnumerateCaptureSizes(size,1,CCamera::EFormatFbsBitmapColor16M);
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->EnumerateCaptureSizes()_E"));
+
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->PrepareImageCaptureL()_S"));
+	iCamera->PrepareImageCaptureL(CCamera::EFormatFbsBitmapColor16M,1);
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->PrepareImageCaptureL()_E"));
+
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->CaptureImage()_S"));
+	iCamera->CaptureImage();
+	RDebug::Print(_L("CTCamAppUi::CaptureImageL() iCamera->CaptureImage()_E"));
+	}
+
+void CTCamAppUi::CaptureVideoL()
+	{
+	if (!iCamera->VideoCaptureActive())
+		{
+		TSize size;
+		TReal32 rate = 0;
+		iCamera->EnumerateVideoFrameSizes(size,0,CCamera::EFormatFbsBitmapColor16M);
+		iCamera->EnumerateVideoFrameRates(rate,0,CCamera::EFormatFbsBitmapColor16M,0);
+		iCamera->PrepareVideoCaptureL(CCamera::EFormatFbsBitmapColor16M,0,0,2,1);
+		iCamera->StartVideoCapture();
+		}
+	else
+		iCamera->StopVideoCapture();
+	}
+
+void CTCamAppUi::ReserveComplete(TInt /*aError*/)
+	{
+	RDebug::Print(_L("CTCamAppUi::ReserveComplete()"));
+	}
+
+void CTCamAppUi::PowerOnComplete(TInt /*aError*/)
+	{
+	RDebug::Print(_L("CTCamAppUi::PowerOnComplete()"));
+	}
+
+void CTCamAppUi::ViewFinderFrameReady(CFbsBitmap& /*aFrame*/)
+	{
+	}
+
+void CTCamAppUi::ImageReady(CFbsBitmap* aBitmap,HBufC8* /*aData*/,TInt aError)
+	{
+	RDebug::Print(_L("CTCamAppUi::ImageReady()_S"));
+
+	TBuf<KMaxErrLength> msgBuffer;
+	_LIT(KErrMessage,"CTCamAppUi::ImageReady");
+	if (aBitmap)
+		{
+		iAppView->DrawImage(aBitmap, iScreenRect);
+		}
+	if (aError)
+		{
+		msgBuffer.Format(KErrorFormat,aError,&KErrMessage);
+		iEikonEnv->InfoMsg(msgBuffer);
+		}
+
+	RDebug::Print(_L("CTCamAppUi::ImageReady()_E"));
+	}
+
+void CTCamAppUi::FrameBufferReady(MFrameBuffer* aFrameBuffer,TInt aError)
+	{
+	RDebug::Print(_L("CTCamAppUi::FrameBufferReady()_S"));
+
+	TBuf<KMaxErrLength> msgBuffer;
+	_LIT(KErrMessage,"CTCamAppUi::FrameBufferReady");
+	if (aError)
+		{
+		msgBuffer.Format(KErrorFormat,aError,&KErrMessage);
+		iEikonEnv->InfoMsg(msgBuffer);
+		return;
+		}
+	TRAPD(error,iAppView->DrawImage(aFrameBuffer->FrameL(0), iScreenRect));
+	aFrameBuffer->Release();
+	if (error)
+		{
+		msgBuffer.Format(KErrorFormat,error,&KErrMessage);
+		iEikonEnv->InfoMsg(msgBuffer);
+		}
+
+	RDebug::Print(_L("CTCamAppUi::FrameBufferReady()_E"));
+	}
+
+//_LIT(KContrastDialogTitle,"Contrast");
+//_LIT(KBrightnessDialogTitle,"Brightness");
+
+//
+// CTCamAppView
+//
+
+CTCamAppView::CTCamAppView():
+	CCoeControl()
+	{}
+
+void CTCamAppView::ConstructL(const TRect& aRect)
+	{
+	CreateWindowL();
+    SetRect(aRect);
+	EnableDragEvents();
+	ActivateL();
+	}
+
+CTCamAppView::~CTCamAppView()
+	{}
+
+void CTCamAppView::DrawImage(CFbsBitmap* aImage, TRect aScreenRect) const
+	{
+	RDebug::Print(_L("aImage->DataAddress() = %d"),aImage->DataAddress());
+	// view position setting for test application
+	RDebug::Print(_L("Set view position_S"));
+	TRect wRect = aScreenRect;
+	wRect.iTl.iY = 123;
+	wRect.iBr.iY = 244;
+
+	RDebug::Print(_L("Set view position_E"));
+	// draw bitmap
+	CWindowGc& gc = SystemGc();
+	if (IsReadyToDraw())
+		{
+		gc.Activate(Window());
+		TBool back = IsBackedUp();
+		if (!back)
+			{
+			Window().Invalidate(wRect);
+			Window().BeginRedraw(wRect);
+			}
+		gc.DrawBitmap(wRect, aImage);
+		if (!back)
+			{
+			Window().EndRedraw();
+			}
+		gc.Deactivate();
+		}
+	iCoeEnv->WsSession().Flush();
+	}
+
+void CTCamAppView::Draw(const TRect& /*aRect*/) const
+	{
+	CWindowGc& gc = SystemGc();
+	TRect drawRect(Rect());
+	drawRect.Shrink(1,1);
+	gc.DrawRect(drawRect);
+	gc.Clear();
+	}
+
+TPoint CTCamAppView::DrawBorders(const TSize& aSize) const
+	{
+	CWindowGc& gc = SystemGc();
+	gc.Activate(Window());
+	TRect drawRect(Rect());
+	TPoint pos;
+	pos.iX = (drawRect.iBr.iX - aSize.iWidth) / 2;
+	pos.iY = ((drawRect.iBr.iY + 122) - aSize.iHeight) / 2;
+	TRect border(pos,aSize);
+	border.Grow(1,1);
+	gc.SetPenColor(KRgbBlack);
+	gc.DrawRect(border);
+	gc.Deactivate();
+	iCoeEnv->WsSession().Flush();
+	return pos;
+	}
+
+//
+// CTCamDocument
+//
+
+CTCamDocument::CTCamDocument(CEikApplication& aApp)
+		: CAknDocument(aApp)
+	{
+	}
+
+CEikAppUi* CTCamDocument::CreateAppUiL()
+	{
+	RDebug::Print(_L("CTCamDocument::CreateAppUiL()"));
+    return (static_cast<CEikAppUi*>(new (ELeave) CTCamAppUi));
+	}
+
+//
+// CTCamApp
+//
+
+TUid CTCamApp::AppDllUid() const
+	{
+	return TUid::Uid(KUidTestCameraApp);
+	}
+
+CApaDocument* CTCamApp::CreateDocumentL()
+	{
+//	return new(ELeave) CTCamDocument(*this);
+	RDebug::Print(_L("CTCamApp::CreateDocumentL()"));
+	return (static_cast<CApaDocument*>(new(ELeave) CTCamDocument(*this)));
+	}
+
+
+//
+// Base factory function
+//
+
+#include <eikstart.h>
+LOCAL_C CApaApplication* NewApplication()
+	{
+	RDebug::Print(_L("CApaApplication* NewApplication()"));
+	return new CTCamApp;
+	}
+
+//
+// EXE Entry point
+//
+
+GLDEF_C TInt E32Main()
+	{
+	return EikStart::RunApplication(NewApplication);
+	}