javauis/mmapi_qt/baseline/src/cmmadisplay.cpp
changeset 61 bf7ee68962da
parent 47 f40128debb5d
--- a/javauis/mmapi_qt/baseline/src/cmmadisplay.cpp	Tue Jul 06 14:10:26 2010 +0300
+++ b/javauis/mmapi_qt/baseline/src/cmmadisplay.cpp	Wed Aug 18 09:43:15 2010 +0300
@@ -59,7 +59,7 @@
 {
     iEventSource = eventSource;
     iJavadisplayref = javadisplayref;
-    LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::Construct=%d",iIseSWT);
+    LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct=%d",iIseSWT);
     if (iIseSWT)
     {
         iJni = aJni;
@@ -112,8 +112,8 @@
      // Get component visibility. Later visibility changes will
      // be informed through MDirectContent observer.
      iContainerVisible = iDirectContainer->MdcContainerVisibility();
-     LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::Construct iContainerVisible = %d", iContainerVisible);
-     LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::Construct iVisible = %d", iVisible);
+     LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct iContainerVisible = %d", iContainerVisible);
+     LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct iVisible = %d", iVisible);
 
      // Add this MDirectContent to the MDirectContainer. Cannot fail.
      iDirectContainer->MdcAddContent(this);
@@ -202,6 +202,7 @@
     {
         LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetClippingRegion: Removing old rect");
         //iDirectContainer->MdcRemoveContentBounds(iClipRect);
+        RemoveContentBoundFromJavaControl(iClipRect);
         iClipRect.SetRect(0, 0, 0, 0);
         refreshScreen = ETrue;
     }
@@ -287,15 +288,15 @@
 // from MMMADisplay
 TSize CMMADisplay::DisplaySize()
 {
-    LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::DisplaySize +");
+    LOG(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize +");
     if (iWindow && iFullScreen)
     {
-        LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::DisplaySize if loop ");
+        LOG(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize if loop ");
         return iWindow->DrawRect().Size();
     }
     else
     {
-        LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::DisplaySize else loop %d",iUserRect.Size().iHeight);
+        LOG1(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize else loop %d",iUserRect.Size().iHeight);
         return iUserRect.Size();
     }
 }
@@ -305,21 +306,21 @@
 {
     // user rect contains size set from java.
     iUserRect.SetSize(aSize);
-    LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect = %d X %d", iUserRect.Width() ,iUserRect.Height());
+    LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect = %d X %d", iUserRect.Width() ,iUserRect.Height());
     // Size change has no effect if fullscreen mode is on.
     // New size could be used when fullscreen is turned off.
     if (iContainerVisible && !iFullScreen && iWindow)
     {
-        LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
+        LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
         RemoveClippingRegion();
-        LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect after removingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height());
+        LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect after removingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height());
         iWindow->SetDrawRect(iUserRect);
         AddClippingRegion();
-        LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect after AddingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height());
+        LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect after AddingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height());
     }
     else
     {
-        LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
+        LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
         iResetDrawRect = ETrue;
     }
 }
@@ -330,11 +331,11 @@
     iVisible = aValue;
     // Window may be set visible only if container is on screen,
 
-    LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
-    LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible iVisible = %d", iVisible);
+    LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible);
+    LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible iVisible = %d", iVisible);
     if (!iIsForeground)
     {
-        LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible - iIsForeground = 0");
+        LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible - iIsForeground = 0");
         return;
     }
     // if not it can not be set visible.
@@ -350,9 +351,9 @@
         {
             iWindow->SetVisible(aValue, EFalse);
         }
-        LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible after iWindow->SetVisible()");
+        LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible after iWindow->SetVisible()");
         SetClippingRegion();
-        LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible -");
+        LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible -");
     }
 }
 
@@ -383,8 +384,8 @@
 
 TBool CMMADisplay::IsVisible()
 {
-    LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::IsVisible iContainerVisible = %d", iContainerVisible);
-    LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::IsVisible iVisible = %d", iVisible);
+    LOG1(EJavaMMAPI,EInfo,"CMMADisplay::IsVisible iContainerVisible = %d", iContainerVisible);
+    LOG1(EJavaMMAPI,EInfo,"CMMADisplay::IsVisible iVisible = %d", iVisible);
     // display is visible if container is on screen and
     // java side has set it visible
     return iVisible && iContainerVisible;
@@ -421,33 +422,36 @@
         if (aVisible != iWindow->IsVisible())
         {
             // Allow
-            LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged Allow ");
+            LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged Allow ");
         }
         else if (iContainerVisible == aVisible)
         {
-            LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged iContainerVisible == aVisible ");
+            LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged iContainerVisible == aVisible ");
             // if state is not changed, we do not need to do it again
             return;
         }
     }
 
-    LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged After condition2");
+    LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged After condition2");
 
     if (iWindow)
     {
-        LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged iWindow is valid ");
+        LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged iWindow is valid ");
         // change is only needed if java side has set display visible or
         // if container loses focus
         if (!iContainerVisible || iVisible)
         {
+            LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged container is invisible and window is visible");
             if (iResetDrawRect && aVisible && !iFullScreen)
             {
+                LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged resetdrawrect is true");
                 iWindow->SetDrawRectThread(iUserRect);
                 iResetDrawRect = EFalse;
             }
             if (iIsForeground)
             {
-                iWindow->SetVisible(aVisible);
+                LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged container foreground is true");
+                iWindow->SetVisible(aVisible,false);
             }
             SetClippingRegion();
         }
@@ -727,7 +731,7 @@
     nativeRectDimensionArr[3] = aRect.Height();
     // Now the dimension array in java is updated hence reset the java rect
 
-    validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, JNI_COMMIT);
+    validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, 0);
     validJni->CallVoidMethod(iJavaDisplayObject,setRectID);
 
     LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject -");