epoc32/include/imageprocessor/imageprocessorobserver.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 /**
    17  @file
    18  @publishedAll 
    19  @released 
    20 */
    21 
    22 #ifndef __IMAGE_PROCESSOR_OBSERVER_H__
    23 #define __IMAGE_PROCESSOR_OBSERVER_H__
    24 
    25 #include <e32base.h>
    26 
    27 namespace ImageProcessor
    28 	{
    29 
    30 class CImgProcessor;
    31 
    32 /**
    33 Plugin API for the observer of CImgProcessor.
    34 When the CImgProcessor is set to EOptionNone, which means effects, geometric operations and rendering 
    35 are applied asynchronously. After certain operations such as initialization or rendering finished, or after each iteration 
    36 of operation, the certain function will be called, so that user can perform corresponding response. 
    37 
    38 @see TEvent
    39 @publishedAll
    40 @released
    41 */	
    42 class MImgProcessorObserver
    43 	{
    44 public: 
    45 	/**
    46 	The derived class must provide an implementation to perform actions after ImageProcessor complete its initialization
    47 	
    48 	@param  aImageProcessor
    49     		The CImgProcessor which has finished the initialization
    50     @param  aError
    51     		any error happened in the CImgProcessor initialize process
    52     */
    53 	virtual void ImageProcessorInitializingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0;
    54 	
    55 	/**
    56 	The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its initialization
    57 	
    58 	@param  aImageProcessor
    59     		The CImgProcessor which has finished the initialization of its prview
    60     @param  aPreviewId
    61     		the id of the preview which has finished the initialization
    62     @param  aError
    63     		any error happened in the CImgProcessor preview initialize process
    64     */
    65 	virtual void ImageProcessorPreviewInitializingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0;
    66 	
    67 	/**
    68 	The derived class must provide an implementation to perform actions after ImageProcessor complete its action of image processing
    69 	
    70 	@param  aImageProcessor
    71     		The CImgProcessor which has finished the rendering
    72     @param  aError
    73     		any error happened in the CImgProcessor rendering process
    74     */
    75 	virtual void ImageProcessingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0;
    76 	
    77 	/**
    78 	The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its rendering process
    79 	
    80 	@param  aImageProcessor
    81     		The CImgProcessor which has finished the rendering of its prview
    82     @param  aPreviewId
    83     		the id of the preview which has finished the rendering
    84     @param  aError
    85     		any error happened in the CImgProcessor preview rendering process
    86     */
    87 	virtual void ImageProcessorPreviewRenderingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0;
    88 	
    89 	/**
    90 	During image processing, after each iteration, this function will be notified and
    91 	the derived class must provide an implementation to perform actions (optional) such as showing messages to response.
    92 	
    93 	@param  aImageProcessor
    94     		The current CImgProcessor 
    95     @param  aEventId
    96     		the event id of the current iteration, which is defined in imageprocessor.h as TEvent enumeration,
    97     		could be EEventInitializing, EEventProcessing, EEventRendering, EEventPreviewInitializing or EEventPreviewRendering,
    98     @param  aUid
    99     		The value depends on aEventId, and reserved for future purpose
   100     @param  aId
   101     		The value depends on aEventId, for example, if aEventId is EEventPreviewRendering, aId will be the id of the preview.
   102     */
   103 	virtual void ImageProcessorEvent(CImgProcessor& aImageProcessor, TInt aEventId, TUid aUid, TInt aId) = 0;
   104 	};
   105 
   106 }	//namespace ImageProcessor
   107 
   108 #endif //__IMAGE_PROCESSOR_OBSERVER_H__