diff -r 000000000000 -r 2014ca87e772 imagehandlinglib/Src/MIHLFileImageExtJpg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagehandlinglib/Src/MIHLFileImageExtJpg.h Tue Jan 26 15:18:05 2010 +0200 @@ -0,0 +1,105 @@ +/* +* Copyright (c) 2006 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: Pure virtual interface for file based external jpg image class. +* : This class acts as a window into single image or animation +* : in one physical file. Note that file will be locked as long +* : as instance of this class is present. +* +*/ + + +#ifndef MIHLFILEIMAGEEXTJPG_H +#define MIHLFILEIMAGEEXTJPG_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATION +class MIHLBitmap; +class MIHLFilter; +class CVisualFrame; + +// CLASS DECLARATION +/** +* MIHLFileImageExtJpg +* +* Pure virtual interface for file based image class that uses IclExtJpegApi. +* This class acts as a window into single image or animation +* in one physical file. Note that file will be locked as long +* as instance of this class is present. +* +* If interface needs to be pushed into CleanupStack, +* remember to use CleanupDeletePushL() function! +* DO NOT USE CleanupStack::PushL()!! +* +* @lib IHL.lib +* @since 3.0 +*/ +class MIHLFileImageExtJpg : public MIHLFileImage + { + public: + + /** + * Virtual destructor. + */ + virtual ~MIHLFileImageExtJpg() {} + + public: + /** + * Load part of the image into bitmap. + * @since 3.0 + * @param aSrcRect Part of the picture to be loaded + * @param aStatus Load request status reference. + * @param aDestination Destination bitmap reference. + * @param aFrameIndex frame index for loading single frame from image + * @return Return system wide error codes: + * KerrArgument if given bitmap is not created or it's size is incorrect. + * KErrBusy image has load request pending already. + */ + virtual TInt Load( TRect aSrcRect, TRequestStatus& aStatus, MIHLBitmap& aDestination, TInt aFrameIndex = 0 ) = 0; + + public: //CExtJpegDecoder wrapper, see IclExtJpegApi.h + + virtual void SetCroppingL( TRect aCropRect ) = 0; + + virtual void SetStreamingL( TSize& aMacroBlockSize ) = 0; + + virtual void SetRotationL( TInt aDegree ) = 0; + + virtual void SetFlippingL() = 0; + + virtual void SetMirroringL() = 0; + + virtual void SetDctDecodingL() = 0; + + virtual void ConvertL( + TRequestStatus* aRequestStatus, + const CVisualFrame* aDestinationFrame, + TInt& aNoOfDecodedMBlocks, + TInt aFrameNumber = 0 ) = 0; + + virtual void ContinueConvertL( + TRequestStatus* aRequestStatus, + const CVisualFrame* aDestinationFrame, + TInt& aNoOfDecodedMBlocks, + TInt aFrameNumber = 0 ) = 0; + + virtual TInt SupportedFormatsL() = 0; + + virtual TInt CapabilitiesL() = 0; + + + }; +#endif