ui/uiengine/medialists/src/glximagereader.cpp
changeset 26 c499df2dbb33
parent 23 74c9f037fd5d
--- 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;
+    }