vtprotocolplugins/DisplaySink/inc/CVtImageScaler.h
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScaler.h	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2004 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:    Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGESCALER_H
-#define CVTIMAGESCALER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-class CVtImageScalerImpl;
-class CVtImage;
-class CFbsBitmap;
-
-// CLASS DECLARATIONS
-
-/**
-*  Image scaler observer interface.
-*
-*  @lib videosource.lib
-*/
-class MVtImageScalerObserver
-    {
-    public:
-        /**
-        * Callback method that is called by CVtImageScaler when scaling has
-        * finished.
-        * @param "aError" KErrNone if the scaling was done successfully, one
-        * of the system wide error codes otherwise.
-        * @return Pointer to newly created instance.
-        */
-        virtual void ScalingFinished( TInt aError ) = 0;
-    };
-
-/**
-*  Image scaler.
-*
-*  @lib videosource.lib
-*/
-class CVtImageScaler : public CActive
-    {
-    public:
-
-        /**
-        * An enumeration within the CVtImageScaler namespace.
-        * It provides a set of panic codes that may happen during
-        * scaling process.
-        */
-        enum TPanics
-            {
-            /**
-            * RotateL() is called while previous rotation process
-            * has not yet been finished.
-            */
-            EBusy = 1
-            };
-
-        /**
-        * An enumeration within the CVtImageScaler namespace.
-        * It provides a set of supported scaling quality settings.
-        */
-        enum TQuality
-            {
-            /**
-            * Nearest neigbour algorithm. Fast but poor image quality
-            * when scale factor exceeds 2x.
-            */
-            ENearest,
-
-            /**
-            * Weighted average algorithm. Slower than Nearest Neighbour
-            * but also better image quality when scaling at factor 2x or
-            * higher.
-            */
-            EWeightedAverage,
-
-            /**
-            * Bilinear scaling algorithm. Slower than Weighted Average
-            * but also better image quality.
-            */
-            EBilinear
-            };
-
-    public:
-
-        /**
-        * Creates new instance of CVtImageScaler.
-        * @param "aObserver" Reference to instance observer.
-        * @param "aQuality" Scaling quality. If this is omitted, then default
-        * value of EWeightedAverage is used.
-        * @param "aPriority" Active object priority.
-        * @exception In error situation leaves with one of the system wide
-        * error codes.
-        * @return Pointer to newly created instance.
-        */
-        IMPORT_C static CVtImageScaler* NewL(
-            MVtImageScalerObserver& aObserver,
-            TQuality aQuality = EWeightedAverage,
-            TPriority aPriority = EPriorityStandard );
-
-        /**
-        * C++ destructor.
-        */
-        IMPORT_C ~CVtImageScaler();
-
-        /**
-        * Sets scaling quality.
-        * @param "aQuality" Scaling quality.
-        * @exception In error situation leaves with one of the system wide
-        * error codes.
-        */
-        IMPORT_C void SetQualityL( TQuality aQuality );
-
-        /**
-        * Scales image to new size.
-        * @param "aSource" Source image that will be scaled.
-        * @param "aTarget" Target image that will hold the scaled image. New
-        * image's dimensions
-        * will be taken from the size of target image.
-        * @exception In error situation leaves with one of the system wide
-        * error codes.
-        */
-        IMPORT_C void ScaleL( const CVtImage& aSource, CVtImage& aTarget );
-
-        /**
-        * Scales image to new size. Possible error during initialization is
-        * returned via MVtImageScalerObserver.
-        * @param "aSource" Source image that will be scaled.
-        * @param "aTarget" Target image that will hold the scaled image. New
-        * image's dimensions will be taken from the size of target image.
-        */
-        IMPORT_C void Scale( const CVtImage& aSource, CVtImage& aTarget );
-
-        /**
-        * Scales image to new size. This scale method is synchronous and
-        * aTarget will contain scaled image of aSource on return. This method
-        * may leave if aSource and/or aTarget are not suitable for scaling.
-        * MVtImageScalerObserver::ScalingFinished is not called when this
-        * method is used.
-        * @param "aSource" Source image that will be scaled.
-        * @param "aTarget" Target image that will hold the scaled image. New
-        * image's dimensions will be taken from the size of target image.
-        */
-        IMPORT_C void ScaleNowL( const CVtImage& aSource, CVtImage& aTarget );
-
-    private: // internal
-
-        /**
-        * C++ default constructor.
-        */
-        CVtImageScaler();
-
-        /**
-        * C++ constructor.
-        * @param "aObserver" Reference to observer.
-        * @param "aPriority" Active object priority.
-        * @exception In error situation leaves with one of the system wide
-        * error codes.
-        */
-        CVtImageScaler( MVtImageScalerObserver& aObserver, TPriority aPriority );
-
-        /**
-        * Second phase constructor.
-        * @param "aQuality" Quality of the scaling.
-        * @exception In error situation leaves with one of the system wide
-        * error codes.
-        */
-        void ConstructL( TQuality aQuality );
-
-        /**
-        * Sets iStatus to KRequestPending and calls CActive::SetActive().
-        */
-        void Activate();
-
-        /**
-        * Signals this instance AO with given error code.
-        * @param "aError" Signalling error code.
-        */
-        void Signal( TInt aError );
-
-    private: // from CActive
-
-        /**
-        * This is defined in CActive. Check CActive for description.
-        */
-        void RunL();
-
-        /**
-        * This is defined in CActive. Check CActive for description.
-        */
-        void DoCancel();
-
-        /**
-        * Scale method called by the CAsyncCallBack.
-        */
-        static TInt StaticScale( TAny* aPtr );
-
-        /**
-        * Scale method called by the StaticScale.
-        */
-        void DoScale();
-
-    private:
-
-        // Scaling observer
-        MVtImageScalerObserver& iObserver;
-
-        // Active quality implementation
-        CVtImageScalerImpl* iScalerImpl; // owned
-
-        // Bitmap that will be used for locking global bitmap heap
-        CFbsBitmap* iHeapLock; // owned
-
-        // Asynccallback instance
-        CAsyncCallBack* iAsyncCallBack; // owned
-
-        // This is set to ETrue in DoCancel() method, and when CAsyncCallBack
-        // gets executed, iCancelled is checked whether scaling should be done
-        // or not.
-        TBool iCancelled;
-    };
-
-#endif // CVTIMAGESCALER_H
-
-// End of File
-
-