--- a/javauis/mmapi_akn/baseline/src/cmmadisplay.cpp Wed Sep 01 12:33:18 2010 +0100
+++ b/javauis/mmapi_akn/baseline/src/cmmadisplay.cpp Tue Sep 14 21:06:50 2010 +0300
@@ -21,6 +21,8 @@
#include "cmmadisplay.h"
#include "mmmadisplaywindow.h"
+// below include is added to get the enumerated player's state
+#include "cmmaplayer.h"
// Destructor (virtual by CBase)
CMMADisplay::~CMMADisplay()
@@ -31,12 +33,16 @@
// Remove clip rect if set
if (!iClipRect.IsEmpty())
{
- DEBUG("CMMADisplay::~CMMADisplay(): Removing clip rect");
+ DEBUG_INT2("CMMADisplay::~CMMADisplay(): Removing clip rect iTL = %d X %d",
+ iClipRect.iTl.iX,iClipRect.iTl.iY);
+ DEBUG_INT2("CMMADisplay::~CMMADisplay(): Removing clip rect iBr = %d X %d",
+ iClipRect.iBr.iX,iClipRect.iBr.iY);
iDirectContainer->MdcRemoveContentBounds(iClipRect);
}
// Remove this object from MDirectContainer
iDirectContainer->MdcRemoveContent(this);
+ DEBUG("~CMMADisplay() is done");
}
}
@@ -45,6 +51,7 @@
iVisible(EFalse),
iFullScreen(EFalse),
iContainerVisible(EFalse),
+ iUserRectSet(EFalse),
iIsForeground(ETrue),
iResetDrawRect(EFalse)
{
@@ -138,7 +145,18 @@
{
return;
}
-
+
+#ifdef RD_JAVA_NGA_ENABLED
+
+ if(iWindow->IsVideoPlayer() && iWindow->PlayerState() < CMMAPlayer::EPrefetched)
+ {
+ // dont snatch window from UI too early. wait till its PREFETCHED or STARTED
+ // because UI could be showing some progressive indicator for playback start and that should continue
+ // at the last possible moment
+
+ return;
+ }
+#endif
TBool refreshScreen(EFalse);
// Remove first the current clip rect if set
if (!iClipRect.IsEmpty())
@@ -155,7 +173,10 @@
if (!iClipRect.IsEmpty())
{
- DEBUG("CMMADisplay::SetClippingRegion: Adding new rect");
+ DEBUG_INT2("CMMADisplay::SetClippingRegion: Adding new rect iTL = %d X %d",
+ iClipRect.iTl.iX,iClipRect.iTl.iY);
+ DEBUG_INT2("CMMADisplay::SetClippingRegion: Adding new rect iBr = %d X %d",
+ iClipRect.iBr.iX,iClipRect.iBr.iY);
// Add new clipping rect
iDirectContainer->MdcAddContentBounds(iClipRect);
refreshScreen = ETrue;
@@ -202,6 +223,17 @@
{
return;
}
+
+#ifdef RD_JAVA_NGA_ENABLED
+
+ if(iWindow->IsVideoPlayer() && iWindow->PlayerState() < CMMAPlayer::EPrefetched)
+ {
+ // dont snatch window from UI too early. wait till its PREFETCHED or STARTED
+ // because UI could be showing some progressive indicator for playback start and that should continue
+ // at the last possible moment
+ return;
+ }
+#endif
// If visible then set a new clip rect
if (iVisible)
{
@@ -209,7 +241,10 @@
if (!iClipRect.IsEmpty())
{
- DEBUG("CMMADisplay::AddClippingRegion: Adding new rect");
+ DEBUG_INT2("CMMADisplay::AddClippingRegion: Adding new rect iTL = %d X %d",
+ iClipRect.iTl.iX,iClipRect.iTl.iY);
+ DEBUG_INT2("CMMADisplay::AddClippingRegion: Adding new rect iBr = %d X %d",
+ iClipRect.iBr.iX,iClipRect.iBr.iY);
// Add new clipping rect
iDirectContainer->MdcAddContentBounds(iClipRect);
// refresh screen
@@ -237,7 +272,7 @@
{
// user rect contains size set from java.
iUserRect.SetSize(aSize);
-
+ UserRectSet();
// Size change has no effect if fullscreen mode is on.
// New size could be used when fullscreen is turned off.
if (iContainerVisible && !iFullScreen && iWindow)
@@ -252,6 +287,17 @@
}
}
+void CMMADisplay::UserRectSet()
+{
+ if(!IsUserRectSet())
+ iUserRectSet = ETrue;
+}
+
+TBool CMMADisplay::IsUserRectSet()
+{
+ return iUserRectSet;
+}
+
// from MMMADisplay
void CMMADisplay::SetVisible(TBool aValue)
{