textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp
branchRCL_3
changeset 13 1bbdde98cc2d
parent 12 5e18d8c489d6
child 19 ac7e4d1d9209
--- a/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Tue May 25 13:03:44 2010 +0300
+++ b/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Wed Jun 09 10:03:19 2010 +0300
@@ -110,28 +110,39 @@
 
 void CPenUiWndCtrl::Draw(const TRect& aRect) const
     {
-    if(iNotUpdating)
+    if (iNotUpdating)
         return;
-    
+
     CWindowGc& gc = SystemGc();
-        
-    if ( iShowPopup ) 
+    if (iShowPopup)
         {
         //layout is extended by popup
-        gc.SetClippingRect( iLayoutClipRect );
+        TRect rect = aRect;
+        rect.Intersection(iLayoutClipRect);
+        TPoint pos = rect.iTl - iLayoutClipRect.iTl;
+        gc.BitBlt(pos, iBitmap, rect);
+#ifdef FIX_FOR_NGA
+        //draw bubble
+        for (TInt i = 0; i < iBubblesArea.Count(); ++i)
+            {
+            gc.BitBlt(iBubblesPos[i].iTl, iBubblesArea[i]);
+            }
+#endif   
+        return;
+        //layout is extended by popup
+        //gc.SetClippingRect( iLayoutClipRect );
         }
-
-	#ifdef FIX_FOR_NGA
-	gc.BitBlt(TPoint(0,0),iBitmap,Rect());
+#ifdef FIX_FOR_NGA
+    gc.BitBlt(TPoint(0, 0), iBitmap, Rect());
+    //draw bubble
+    for (TInt i = 0; i < iBubblesArea.Count(); ++i)
+        {
+        gc.BitBlt(iBubblesPos[i].iTl, iBubblesArea[i]);
+        }
+#else    
+    gc.BitBlt(aRect.iTl,iBitmap,aRect);
+#endif     
 
-	//draw bubble
-	for(TInt i = 0 ; i < iBubblesArea.Count(); ++i)
-		{
-		gc.BitBlt(iBubblesPos[i].iTl,iBubblesArea[i]);
-		}
-	#else    
-		gc.BitBlt(aRect.iTl,iBitmap,aRect);
-	#endif            
     }
 
 void CPenUiWndCtrl::RefreshUI()
@@ -230,7 +241,6 @@
         return;
         }
     
-    iCursorBmp = const_cast<CFbsBitmap*>(aCursorBmp);
     iCursorPos = aRect.iTl;
 	
     if(iCursorRect != aRect)
@@ -335,6 +345,7 @@
     
 void CPenUiWndCtrl::ShowPenUiL(TBool /*aDimmed*/)
     {
+    iCursorWnd->SetCursorVisible(EFalse);
     if (iResourceChange)
         {
         ActivateL();
@@ -396,7 +407,6 @@
 
 void CPenUiWndCtrl::ClosePenUi(TBool aResChanging)
     {
-    iCursorBmp = NULL;
     if (aResChanging)
         {
         TRAP_IGNORE(iIncallBubble->SetIncallBubbleFlagsL( EAknStatusBubbleInputHide ));
@@ -495,8 +505,14 @@
     {
     //TBool dim = IsDimmed();
     RestoreSystemFadeStatus();
-    //have to call this, otherwise pen UI is faded
-    iWndGroup.SetNonFading(ETrue);
+	
+	// if we were opened under a global note
+	// we need to dim pen ui
+	if(aType != EGlobleNotesWithEditor && aType != EGlobleNotes)
+	   {
+	   //have to call this, otherwise pen UI is faded
+       iWndGroup.SetNonFading(ETrue);
+	   }
     
     if (iResourceChange)
         {
@@ -720,6 +736,10 @@
         case ESignalDisableUpdating:
             {
             iNotUpdating = * (reinterpret_cast<TBool*>( const_cast<TUint16*>( aEventData.Ptr() )));
+			if(iNotUpdating)
+			    {
+				UpdateCursor(EFalse,NULL,iCursorWnd?iCursorWnd->Rect():TRect(TPoint(0,0),TSize(0,0)));
+				}
             }
 			break;
         case ESignalDrawBackground:
@@ -819,7 +839,15 @@
         iAutoRefreshTimer->Cancel();
         }
     }
-
+	
+void CPenUiWndCtrl::LiftUpPriority()
+    {
+	TInt priority = GetWndPriority();
+    iPriority =  priority;
+    iWndGroup.SetOrdinalPosition( 0, iPriority);
+    DrawableWindow()->SetOrdinalPosition( 0, iPriority);
+	}
+	
 //End Of File
 // class CInternalBkCtrl
 CInternalBkCtrl::CInternalBkCtrl(RWindowGroup& aWndGroup)