diff -r 99ad1390cd33 -r c499df2dbb33 ui/uiengine/medialists/src/glximagereader.cpp --- a/ui/uiengine/medialists/src/glximagereader.cpp Fri Apr 16 14:58:46 2010 +0300 +++ b/ui/uiengine/medialists/src/glximagereader.cpp Mon May 03 12:31:32 2010 +0300 @@ -28,16 +28,17 @@ #include "glximagereader.h" +const TInt KDefaultFrameCount = 1; // --------------------------------------------------------- // CGlxImageReader::NewL // --------------------------------------------------------- // -CGlxImageReader* CGlxImageReader::NewL(MImageReadyCallBack& aNotify) +CGlxImageReader* CGlxImageReader::NewL() { TRACER("CGlxImageReader::NewL"); - CGlxImageReader* self = CGlxImageReader::NewLC( aNotify); + CGlxImageReader* self = CGlxImageReader::NewLC(); CleanupStack::Pop(self); return self; } @@ -46,11 +47,11 @@ // CGlxImageReader::NewLC // --------------------------------------------------------- // -CGlxImageReader* CGlxImageReader::NewLC(MImageReadyCallBack& aNotify) +CGlxImageReader* CGlxImageReader::NewLC() { TRACER("CGlxImageReader::NewLC"); - CGlxImageReader* self = new(ELeave) CGlxImageReader(aNotify); + CGlxImageReader* self = new(ELeave) CGlxImageReader(); CleanupStack::PushL(self); self->ConstructL(); return self; @@ -60,8 +61,7 @@ // CGlxImageReader::CGlxImageReader // --------------------------------------------------------- // -CGlxImageReader::CGlxImageReader(MImageReadyCallBack& aNotify) -:CActive(0),iNotify(aNotify) +CGlxImageReader::CGlxImageReader() { //no implementation } @@ -75,15 +75,9 @@ TRACER("CGlxImageReader::~"); if(iImageDecoder) { - Cancel(); delete iImageDecoder; } - if(iFrame) - { - delete iFrame; - } - if(iImgViewerMgr) { iImgViewerMgr->Close(); @@ -98,8 +92,6 @@ { TRACER("CGlxImageReader::ConstructL"); - CActiveScheduler::Add(this); - iImgViewerMgr = CGlxImageViewerManager::InstanceL(); if (!iImgViewerMgr) { @@ -125,45 +117,8 @@ { User::Leave(errInImage); } - - if ( iImageDecoder ) - { - iFrame = new (ELeave) CFbsBitmap(); - iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels, - iImageDecoder->FrameInfo(0).iFrameDisplayMode); - iImageDecoder->Convert(&iStatus, *iFrame, 0); - SetActive(); - } } - -// --------------------------------------------------------- -// CGlxImageReader::DoCancel -// --------------------------------------------------------- -// -void CGlxImageReader::DoCancel() - { - TRACER("CGlxImageReader::DoCancel"); - iImageDecoder->Cancel(); - } - -// --------------------------------------------------------- -// CGlxImageReader::RunL -// --------------------------------------------------------- -// -void CGlxImageReader::RunL() - { - TRACER("CGlxImageReader::RunL"); - - TSize size = TSize(); - TInt reqStatus = iStatus.Int(); - if (reqStatus == KErrNone && iFrame) - { - size = iFrame->SizeInPixels(); - } - GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus); - iNotify.ImageSizeReady(reqStatus, size); - } // --------------------------------------------------------- // CGlxImageReader::GetDRMRightsL // --------------------------------------------------------- @@ -209,3 +164,36 @@ } return value; } + +// --------------------------------------------------------- +// CGlxImageReader::GetFrameCount +// --------------------------------------------------------- +// +TInt CGlxImageReader::GetFrameCount() + { + TRACER("CGlxImageReader::GetFrameCount"); + TInt frameCount = KDefaultFrameCount; + if (iImageDecoder) + { + frameCount = iImageDecoder->FrameCount(); + } + GLX_DEBUG2("CGlxImageReader::GetFrameCount frameCount=%d", frameCount); + return frameCount; + } + +// --------------------------------------------------------- +// CGlxImageReader::GetDimensions +// --------------------------------------------------------- +// +TSize CGlxImageReader::GetDimensions() + { + TRACER("CGlxImageReader::GetDimensions"); + TSize size = TSize(); + if (iImageDecoder) + { + size = iImageDecoder->FrameInfo().iOverallSizeInPixels; + } + GLX_DEBUG3("CGlxImageReader::GetImageSize() size w(%d) h(%d)", + size.iWidth, size.iHeight); + return size; + }