// 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/imageprocessoroutputinfointf.h>
#include <imageprocessor/imageprocessoroutputinfo.h>
#include "imageprocessorimpl.h"
#include <imageprocessor/imageprocessor.h>
namespace ImageProcessor
{
TOutputInfo::TOutputInfo(Plugin::MOutputInfo& aOutputInfoImpl, CImageProcessorImpl& aImageProcessorImpl)
:iImageProcessorImpl(aImageProcessorImpl),
iOutputInfoImpl(aOutputInfoImpl),
iReserved(0)
{
}
/**
Sets the output JPEG image quality
@param aQuality
The new JPEG image quality to set to the output. Range (0, 1], where 1 means best JPEG quality (100%).
*/
EXPORT_C void TOutputInfo::SetJpegQualityL(TReal32& aQuality)
{
__ASSERT_ALWAYS((0.0f<aQuality)&&(1.0f>=aQuality),User::Leave(KErrArgument));
__ASSERT_ALWAYS(iImageProcessorImpl.IsOutputSet(), User::Leave(KErrNotReady));
iOutputInfoImpl.SetJpegQualityL(aQuality);
}
/**
Sets the output JPEG image sampling rate
@param aSampling
The new JPEG image sampling rate to set to the output.
*/
EXPORT_C void TOutputInfo::SetSamplingL(TUid& aSampling)
{
__ASSERT_ALWAYS(iImageProcessorImpl.IsOutputSet(), User::Leave(KErrNotReady));
iOutputInfoImpl.SetSamplingL(aSampling);
}
/**
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* TOutputInfo::Extension(TUid /*aExtension*/) const
{
return NULL;
}
}//namespace ImageProcessor
//EOF