textinput/peninputarc/src/peninputanim/peninputanim.cpp
branchRCL_3
changeset 5 a47de9135b21
parent 0 eb1f2e154e89
child 6 6ceef9a83b1a
--- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Fri Feb 19 23:09:27 2010 +0200
+++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Fri Mar 12 15:44:07 2010 +0200
@@ -810,6 +810,15 @@
             DoTactileFeedBack(aRawEvent.Pos() - rect.iTl);
 #endif // RD_TACTILE_FEEDBACK	
 		iIsPenDown = ETrue;
+
+        // Fix bug HMNN-82CDU5 
+        // When button downing event is happened, iIsMove is reset to EFalse
+	    iIsMove = EFalse;              
+
+        // Recording pointer that button is pressing down in at this time
+	    iPointerDown = aRawEvent.Pos();  
+        //
+
 		PostRawEvent(aRawEvent); 
 		return ETrue;
 	    }
@@ -841,6 +850,19 @@
 		}
 	if(iIsPenDown)
 	    {      
+    
+        // Fix bug HMNN-82CDU5 
+        // When the control key pressing down in is different with the control key pressing up 
+        // and pointer moving event isn¡¯t happened,
+        // pointer moving event will is supplied 
+        if(iPointerDown != aRawEvent.Pos() && !iIsMove)
+          {
+          TRawEvent rawEvent = aRawEvent;
+          rawEvent.Set( TRawEvent::EPointerMove );
+          OnRawPointerMove(rawEvent);
+          }
+        //
+
 		iIsPenDown = EFalse;
 		
 		TRect rect(iSpritePosition, iSpriteSize);        
@@ -848,6 +870,12 @@
 		    {
 			//send pen up event immediately
 			SendRawEvent(aRawEvent);
+            
+            // Fix bug HMNN-82CDU5 
+            // When key pressing up event is completed, iIsMove is reset to EFalse.
+            iIsMove = EFalse;   
+            //
+
 			return ETrue;                    
 		    }
 	    }
@@ -880,6 +908,11 @@
 	    {                
 	    //give tactile feedback	    
 
+        // Fix bug HMNN-82CDU5 
+        // When pointer moving event is happened, iIsMove is set to ETrue
+        iIsMove = ETrue;        
+        //
+
 		PostRawEvent(aRawEvent); 
 		return ETrue;
 	    }
@@ -887,6 +920,12 @@
 
 	if(iIsPointerCaptured || iIsPenDown)
 	    {                    
+
+        // Fix bug HMNN-82CDU5 
+        // When pointer moving event is happened, iIsMove is set to ETrue
+        iIsMove = ETrue;        
+        //
+
 		PostRawEvent(aRawEvent);
 		return ETrue;
 	    }