--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingfws/panorama/src/panoramaimpl.cpp Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,257 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <ecom/ecom.h>
+#include <mm/mmpluginutils.h>
+#include <panorama/panoramauids.hrh>
+#include <panorama/panorama.h>
+#include <panorama/panoramaplugin.h>
+#include "panoramaimpl.h"
+
+_LIT8(KPluginMatchString, "*"); // ECom insists on something
+
+//panorama
+CImagePanoramaImpl* CImagePanoramaImpl::NewL()
+ {
+ CImagePanoramaImpl* self = new(ELeave) CImagePanoramaImpl();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+CImagePanoramaImpl::CImagePanoramaImpl()
+ {
+ }
+
+void CImagePanoramaImpl::ConstructL()
+ {
+ TUid interfaceUid = {KUidPanoramaPluginInterface};
+ iPlugin = static_cast<MImagePanoramaPlugin*> (MmPluginUtils::CreateImplementationL(interfaceUid, iDestructorKey, KPluginMatchString));
+ }
+
+CImagePanoramaImpl::~CImagePanoramaImpl()
+ {
+ if (iPlugin)
+ {
+ iPlugin->Destroy();
+ }
+ REComSession::DestroyedImplementation(iDestructorKey);
+ }
+
+void CImagePanoramaImpl::InitializeL(const TSize & aSize, const TPanoramaLens& aPanoramaLens, const TDirection& aDirection)
+ {
+ iPlugin->InitializeL(aSize, aPanoramaLens, aDirection);
+ }
+
+void CImagePanoramaImpl::RenderL(const TDesC& aFilename)
+ {
+ iPlugin->RenderL(aFilename);
+ }
+
+void CImagePanoramaImpl::RenderL(const TDesC& aFilename, const TSize& aSize, const TBool aMaintainAspectRatio, const TUid& aImageTypeUid)
+ {
+ iPlugin->RenderL(aFilename, aSize, aMaintainAspectRatio, aImageTypeUid);
+ }
+
+void CImagePanoramaImpl::RenderL(RFile& aFile)
+ {
+ iPlugin->RenderL(aFile);
+ }
+
+void CImagePanoramaImpl::RenderL(RFile& aFile, const TSize& aSize, const TBool aMaintainAspectRatio, const TUid& aImageTypeUid)
+ {
+ iPlugin->RenderL(aFile, aSize, aMaintainAspectRatio, aImageTypeUid);
+ }
+
+void CImagePanoramaImpl::RenderL(HBufC8*& aDestData)
+ {
+ iPlugin->RenderL(aDestData);
+ }
+
+void CImagePanoramaImpl::RenderL(HBufC8*& aDestData, TUint32 aMaxBufferSize, const TSize& aSize, const TBool aMaintainAspectRatio, const TUid& aImageTypeUid)
+ {
+ iPlugin->RenderL(aDestData, aMaxBufferSize, aSize, aMaintainAspectRatio, aImageTypeUid);
+ }
+
+void CImagePanoramaImpl::RenderL(const CFbsBitmap& aBitmap)
+ {
+ iPlugin->RenderL(aBitmap);
+ }
+
+void CImagePanoramaImpl::RenderL(const CFbsBitmap& aBitmap, const TBool aMaintainAspectRatio)
+ {
+ iPlugin->RenderL(aBitmap, aMaintainAspectRatio);
+ }
+
+void CImagePanoramaImpl::RenderL(const CImageFrame& aImageFrame)
+ {
+ iPlugin->RenderL(aImageFrame);
+ }
+
+void CImagePanoramaImpl::RenderL(const CImageFrame& aImageFrame, const TBool aMaintainAspectRatio)
+ {
+ iPlugin->RenderL(aImageFrame, aMaintainAspectRatio);
+ }
+
+void CImagePanoramaImpl::CurrentImageSizeL(TSize& aSize)
+ {
+ iPlugin->CurrentImageSizeL(aSize);
+ }
+
+void CImagePanoramaImpl::AddFileL(const TDesC& aFilename, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->AddFileL(aFilename, aPanTrans);
+ }
+
+void CImagePanoramaImpl::AddBufferL(const TDesC8& aData, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->AddBufferL(aData, aPanTrans);
+ }
+
+void CImagePanoramaImpl::AddImageL(const CFbsBitmap& aBitmap, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->AddImageL(aBitmap, aPanTrans);
+ }
+
+void CImagePanoramaImpl::AddImageL(const CImageFrame& aImageFrame, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->AddImageL(aImageFrame, aPanTrans);
+ }
+
+TAny* CImagePanoramaImpl::Extension(TUid aExtension)
+ {
+ return iPlugin->Extension(aExtension);
+ }
+
+//Panorama transform
+CPanoramaTransformImpl* CPanoramaTransformImpl::NewL()
+ {
+ CPanoramaTransformImpl* self = new(ELeave) CPanoramaTransformImpl();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CPanoramaTransformImpl::~CPanoramaTransformImpl()
+ {
+ }
+
+CPanoramaTransformImpl::CPanoramaTransformImpl()
+ {
+ }
+
+void CPanoramaTransformImpl::ConstructL()
+ {
+ }
+
+void CPanoramaTransformImpl::GetTranslation(TPoint& aDxDy, TSize& aDims) const
+ {
+ aDxDy = iDxDy;
+ aDims = iDims;
+ }
+
+void CPanoramaTransformImpl::SetTranslationL(const TPoint& aDxDy, const TSize& aDims)
+ {
+ iDxDy = aDxDy;
+ iDims = aDims;
+ }
+
+void CPanoramaTransformImpl::GetDirection(TDirection& aDirection)
+ {
+ aDirection = iDirection;
+ }
+
+void CPanoramaTransformImpl::GetDirection(TDirection& aDirection, TInt& aMinimumDelta)
+ {
+ aDirection = iDirection;
+ aMinimumDelta = iMinDelta;
+ }
+
+void CPanoramaTransformImpl::SetDirection(TDirection& aDirection)
+ {
+ iDirection = aDirection;
+ }
+
+void CPanoramaTransformImpl::SetDirection(TDirection& aDirection, TInt aMinDelta)
+ {
+ iDirection = aDirection;
+ iMinDelta = aMinDelta;
+ }
+
+//VFTracker
+CVFTrackerImpl* CVFTrackerImpl::NewL()
+ {
+ CVFTrackerImpl* self = new(ELeave) CVFTrackerImpl();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+CVFTrackerImpl::CVFTrackerImpl()
+ {
+ }
+
+void CVFTrackerImpl::ConstructL()
+ {
+ TUid interfaceUid = {KUidVFTrackerPluginInterface};
+ iPlugin = static_cast<MVFTrackerPlugin*> (MmPluginUtils::CreateImplementationL(interfaceUid, iDestructorKey, KPluginMatchString));
+ }
+
+CVFTrackerImpl::~CVFTrackerImpl()
+ {
+ if (iPlugin)
+ {
+ iPlugin->Destroy();
+ }
+ REComSession::DestroyedImplementation(iDestructorKey);
+ }
+
+void CVFTrackerImpl::InitializeL(const TSize& aSize)
+ {
+ iPlugin->InitializeL(aSize);
+ }
+
+void CVFTrackerImpl::RegisterImageL(const CFbsBitmap& aBitmap, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->RegisterImageL(aBitmap, aPanTrans);
+ }
+
+void CVFTrackerImpl::RegisterImageL(const CImageFrame& aImageFrame, CPanoramaTransform& aPanTrans)
+ {
+ iPlugin->RegisterImageL(aImageFrame, aPanTrans);
+ }
+
+TBool CVFTrackerImpl::IsTimeToCapture(TDirection& aDirection)
+ {
+ return iPlugin->IsTimeToCapture(aDirection);
+ }
+
+TBool CVFTrackerImpl::IsTimeToCapture(TDirection& aDirection, TInt aOverlap) const
+ {
+ return iPlugin->IsTimeToCapture(aDirection, aOverlap);
+ }
+
+void CVFTrackerImpl::Reset()
+ {
+ iPlugin->Reset();
+ }
+
+TAny* CVFTrackerImpl::Extension(TUid aExtension)
+ {
+ return iPlugin->Extension(aExtension);
+ }