williamr@4: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef __IMAGE_PROCESSOR_OBSERVER_H__ williamr@4: #define __IMAGE_PROCESSOR_OBSERVER_H__ williamr@4: williamr@4: #include williamr@4: williamr@4: namespace ImageProcessor williamr@4: { williamr@4: williamr@4: class CImgProcessor; williamr@4: williamr@4: /** williamr@4: Plugin API for the observer of CImgProcessor. williamr@4: When the CImgProcessor is set to EOptionNone, which means effects, geometric operations and rendering williamr@4: are applied asynchronously. After certain operations such as initialization or rendering finished, or after each iteration williamr@4: of operation, the certain function will be called, so that user can perform corresponding response. williamr@4: williamr@4: @see TEvent williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: class MImgProcessorObserver williamr@4: { williamr@4: public: williamr@4: /** williamr@4: The derived class must provide an implementation to perform actions after ImageProcessor complete its initialization williamr@4: williamr@4: @param aImageProcessor williamr@4: The CImgProcessor which has finished the initialization williamr@4: @param aError williamr@4: any error happened in the CImgProcessor initialize process williamr@4: */ williamr@4: virtual void ImageProcessorInitializingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0; williamr@4: williamr@4: /** williamr@4: The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its initialization williamr@4: williamr@4: @param aImageProcessor williamr@4: The CImgProcessor which has finished the initialization of its prview williamr@4: @param aPreviewId williamr@4: the id of the preview which has finished the initialization williamr@4: @param aError williamr@4: any error happened in the CImgProcessor preview initialize process williamr@4: */ williamr@4: virtual void ImageProcessorPreviewInitializingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0; williamr@4: williamr@4: /** williamr@4: The derived class must provide an implementation to perform actions after ImageProcessor complete its action of image processing williamr@4: williamr@4: @param aImageProcessor williamr@4: The CImgProcessor which has finished the rendering williamr@4: @param aError williamr@4: any error happened in the CImgProcessor rendering process williamr@4: */ williamr@4: virtual void ImageProcessingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0; williamr@4: williamr@4: /** williamr@4: The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its rendering process williamr@4: williamr@4: @param aImageProcessor williamr@4: The CImgProcessor which has finished the rendering of its prview williamr@4: @param aPreviewId williamr@4: the id of the preview which has finished the rendering williamr@4: @param aError williamr@4: any error happened in the CImgProcessor preview rendering process williamr@4: */ williamr@4: virtual void ImageProcessorPreviewRenderingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0; williamr@4: williamr@4: /** williamr@4: During image processing, after each iteration, this function will be notified and williamr@4: the derived class must provide an implementation to perform actions (optional) such as showing messages to response. williamr@4: williamr@4: @param aImageProcessor williamr@4: The current CImgProcessor williamr@4: @param aEventId williamr@4: the event id of the current iteration, which is defined in imageprocessor.h as TEvent enumeration, williamr@4: could be EEventInitializing, EEventProcessing, EEventRendering, EEventPreviewInitializing or EEventPreviewRendering, williamr@4: @param aUid williamr@4: The value depends on aEventId, and reserved for future purpose williamr@4: @param aId williamr@4: The value depends on aEventId, for example, if aEventId is EEventPreviewRendering, aId will be the id of the preview. williamr@4: */ williamr@4: virtual void ImageProcessorEvent(CImgProcessor& aImageProcessor, TInt aEventId, TUid aUid, TInt aId) = 0; williamr@4: }; williamr@4: williamr@4: } //namespace ImageProcessor williamr@4: williamr@4: #endif //__IMAGE_PROCESSOR_OBSERVER_H__