diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/imageprocessor/imageprocessorobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/imageprocessor/imageprocessorobserver.h Wed Mar 31 12:33:34 2010 +0100 @@ -0,0 +1,108 @@ +// 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: +// + +/** + @file + @publishedAll + @released +*/ + +#ifndef __IMAGE_PROCESSOR_OBSERVER_H__ +#define __IMAGE_PROCESSOR_OBSERVER_H__ + +#include + +namespace ImageProcessor + { + +class CImgProcessor; + +/** +Plugin API for the observer of CImgProcessor. +When the CImgProcessor is set to EOptionNone, which means effects, geometric operations and rendering +are applied asynchronously. After certain operations such as initialization or rendering finished, or after each iteration +of operation, the certain function will be called, so that user can perform corresponding response. + +@see TEvent +@publishedAll +@released +*/ +class MImgProcessorObserver + { +public: + /** + The derived class must provide an implementation to perform actions after ImageProcessor complete its initialization + + @param aImageProcessor + The CImgProcessor which has finished the initialization + @param aError + any error happened in the CImgProcessor initialize process + */ + virtual void ImageProcessorInitializingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0; + + /** + The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its initialization + + @param aImageProcessor + The CImgProcessor which has finished the initialization of its prview + @param aPreviewId + the id of the preview which has finished the initialization + @param aError + any error happened in the CImgProcessor preview initialize process + */ + virtual void ImageProcessorPreviewInitializingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0; + + /** + The derived class must provide an implementation to perform actions after ImageProcessor complete its action of image processing + + @param aImageProcessor + The CImgProcessor which has finished the rendering + @param aError + any error happened in the CImgProcessor rendering process + */ + virtual void ImageProcessingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0; + + /** + The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its rendering process + + @param aImageProcessor + The CImgProcessor which has finished the rendering of its prview + @param aPreviewId + the id of the preview which has finished the rendering + @param aError + any error happened in the CImgProcessor preview rendering process + */ + virtual void ImageProcessorPreviewRenderingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0; + + /** + During image processing, after each iteration, this function will be notified and + the derived class must provide an implementation to perform actions (optional) such as showing messages to response. + + @param aImageProcessor + The current CImgProcessor + @param aEventId + the event id of the current iteration, which is defined in imageprocessor.h as TEvent enumeration, + could be EEventInitializing, EEventProcessing, EEventRendering, EEventPreviewInitializing or EEventPreviewRendering, + @param aUid + The value depends on aEventId, and reserved for future purpose + @param aId + The value depends on aEventId, for example, if aEventId is EEventPreviewRendering, aId will be the id of the preview. + */ + virtual void ImageProcessorEvent(CImgProcessor& aImageProcessor, TInt aEventId, TUid aUid, TInt aId) = 0; + }; + +} //namespace ImageProcessor + +#endif //__IMAGE_PROCESSOR_OBSERVER_H__