uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsimagedecoder.cpp
branchRCL_3
changeset 22 3104fc151679
parent 21 2b7283837edb
child 23 9a48e301e94b
--- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsimagedecoder.cpp	Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Utility class for asynchronously decoding the header thumbnail image
- *
-*/
-
- 
-#include "cvimpstdetailsimagedecoder.h"
-
-#include "cvimpstdetailsheadercontrol.h"
-
-#include <cbsbitmap.h>
-#include <imageconversion.h> 
-#include <bitmaptransforms.h>
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::NewL
-// Two-phase construction
-// ---------------------------------------------------------------------------
-//
-CVIMPSTDetailsImageDecoder* CVIMPSTDetailsImageDecoder::NewL(CVIMPSTDetailsHeaderControl& aHeader, const TDesC8& aBitmapData)
-    {
-    CVIMPSTDetailsImageDecoder* self = new (ELeave) CVIMPSTDetailsImageDecoder(aHeader);
-    CleanupStack::PushL(self);
-    self->ConstructL(aBitmapData);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::CVIMPSTDetailsImageDecoder
-// First phase (C++) constructor
-// ---------------------------------------------------------------------------
-//
-CVIMPSTDetailsImageDecoder::CVIMPSTDetailsImageDecoder(CVIMPSTDetailsHeaderControl& aHeader) : 
-	CActive( CActive::EPriorityStandard ), iHeader(aHeader)
-    { 
-    CActiveScheduler::Add(this); 
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::ConstructL
-// ConstructL, second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTDetailsImageDecoder::ConstructL(const TDesC8& aBitmapData)
-    {
-    iBitmapData = aBitmapData.AllocL();
-    User::LeaveIfError( iFs.Connect() );   
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::~CVIMPSTDetailsImageDecoder
-// ---------------------------------------------------------------------------
-//
-CVIMPSTDetailsImageDecoder::~CVIMPSTDetailsImageDecoder()
-    {
-    DoCancel();
-    if (iImgDecoder)
-        {
-        delete iImgDecoder;
-        iImgDecoder = NULL;
-        }
-    if (iBitmap)
-        {
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-    if (iBitmapData)
-        {
-        delete iBitmapData;
-        iBitmapData = NULL;
-        }
-    if (iBitmapScaler)
-        {
-        delete iBitmapScaler;
-        iBitmapScaler = NULL;
-        }
-
-    iFs.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::Start
-// Starts the decoding process
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTDetailsImageDecoder::StartL(TSize aBitmapSize)
-    {
-    iDecoderState = ECcaConvertThumbnailImage;
-    iBitmapSize = aBitmapSize;
-    CreateBitmapL();
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::RunL
-// Called by the active object framework when the decoding (request) is
-// completed.
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTDetailsImageDecoder::RunL() 
-	{
-	User::LeaveIfError( iStatus.Int() );
-	switch ( iDecoderState )
-	    {
-	    case ECcaConvertThumbnailImage:
-	        {
-	        iDecoderState = ECcaScaleThumbnail;
-	        ScaleBitmapL();
-	        break;
-	        }
-	    case ECcaScaleThumbnail:
-	        {
-	        // don't delete
-	        // Ownership of the bitmap is transferred   
-	        iHeader.SetBitmap(iBitmap, NULL );
-	        iBitmap = NULL;
-	        }
-	    default:
-	        break;
-	    }	
-	
-   }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::DoCancel
-// Called when the decoding (request) is cancelled for some reason.
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTDetailsImageDecoder::DoCancel()
-    { 
-    iImgDecoder->Cancel(); 
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::ScaleBitmapL
-// scaling it to fit to the screen
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTDetailsImageDecoder::ScaleBitmapL()
-    {   
-    iBitmapScaler = CBitmapScaler::NewL();
-    iBitmapScaler->Scale( &iStatus, *iBitmap, iBitmapSize );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTDetailsImageDecoder::CreateBitmapL
-// creates the bitmap
-// ---------------------------------------------------------------------------
-//
-
-void CVIMPSTDetailsImageDecoder::CreateBitmapL()
-    {
-    if ( iDecoderState == ECcaConvertThumbnailImage )
-        {
-        iImgDecoder = CImageDecoder::DataNewL( iFs, *iBitmapData, CImageDecoder::EOptionAlwaysThread );
-        }   
-   if ( !iBitmap )
-       {
-       TFrameInfo info = iImgDecoder->FrameInfo();
-       iBitmap = new ( ELeave ) CFbsBitmap;
-       User::LeaveIfError( iBitmap->Create( info.iOverallSizeInPixels, info.iFrameDisplayMode ));
-       } 
-    iStatus = KRequestPending;
-    iImgDecoder->Convert( &iStatus, *iBitmap );
-    SetActive();
-    }
-// end of file