imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessorinputinfo.cpp
branchRCL_3
changeset 50 948c7f65f6d4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessorinputinfo.cpp	Wed Sep 01 12:38:50 2010 +0100
@@ -0,0 +1,152 @@
+// 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 <imageprocessor/imageprocessorinputinfointf.h>
+#include <imageprocessor/imageprocessorinputinfo.h>
+#include "imageprocessorimpl.h"
+#include <imageprocessor/imageprocessor.h>
+
+namespace ImageProcessor
+	{
+
+TInputInfo::TInputInfo(Plugin::MInputInfo& aInputInfoImpl, CImageProcessorImpl& aImageProcessorImpl)
+:iImageProcessorImpl(aImageProcessorImpl), 
+	iInputInfoImpl(aInputInfoImpl),
+	iReserved(0)
+	{
+	}
+
+/**
+Gets the size of input image
+
+@return	size of the image
+*/
+EXPORT_C TSize TInputInfo::SizeL() const
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.SizeL();
+	}
+
+/**
+Gets the input image format
+
+@param	aFormat
+        Returns the Uid of the format.
+@param	aSubFormat
+        Returns the sub Uid of the format.
+@leave	KErrNotReady
+		The effect is not active.
+*/
+EXPORT_C void TInputInfo::FormatL(TUid& aFormat, TUid& aSubFormat) const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	iInputInfoImpl.FormatL(aFormat, aSubFormat);
+	}
+
+/**
+Gets the display mode of input image.
+
+@return	display mode of image.
+*/
+EXPORT_C TDisplayMode TInputInfo::DisplayModeL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.DisplayModeL();
+	}
+	
+/**
+Gets the uid of frame format of input image.
+When calling TInputInfo::DisplayModeL() returns ENone, this ImageFrameFormatL() 
+could be used to get image frame format.
+
+@return	uid of frame format of the image.
+*/
+EXPORT_C TUid TInputInfo::ImageFrameFormatL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.ImageFrameFormatL();
+	}
+
+/**
+Gets the sampling of input image.
+
+@return	sampling of image.
+*/
+EXPORT_C TUid TInputInfo::SamplingL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.SamplingL();
+	}
+	
+/**
+Gets the bits per pixel of input image.
+
+@return	bits per pixel of image.
+*/
+EXPORT_C TUint32 TInputInfo::BitsPerPixelL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.BitsPerPixelL();
+	}
+	
+/**
+Gets the source image information and scans
+whether the source image allows progressive decoding or not.
+
+@return	ETrue if the source image allows progressive decoding otherwise EFalse.
+*/
+EXPORT_C TBool TInputInfo::IsProgressiveL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.IsProgressiveL();
+	}
+	
+/**
+Gets the source image information and scans whether the source image is interlaced or not. 
+
+@return	ETrue if the source image is interlaced otherwise EFlase.
+*/
+EXPORT_C TBool TInputInfo::IsInterlacedL() const 
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.IsInterlacedL();
+	}
+	
+/**
+Gets the the image alpha information.
+
+@return	true if input image has alpha channel.
+*/
+EXPORT_C TBool TInputInfo::HasAlphaL() const
+	{
+	__ASSERT_ALWAYS(iImageProcessorImpl.IsInputSet(), User::Leave(KErrNotReady));
+	return iInputInfoImpl.HasAlphaL();
+	}
+
+
+/**
+Retrieves access to a custom extension.
+
+@param  aExtension
+        The UID of the extension to be retrieved
+
+@return Extension corresponding to the UID given as a parameter.
+*/
+EXPORT_C TAny* TInputInfo::Extension(TUid /*aExtension*/) const 
+    {
+    return NULL;    
+    }
+    }//namespace ImageProcessor
+//EOF