textinput/peninputarc/src/peninputanim/peninputanim.cpp
branchRCL_3
changeset 46 bd83ceabce89
parent 44 ecbabf52600f
child 56 8152b1f1763a
--- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Wed Sep 01 12:23:33 2010 +0100
+++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Tue Sep 14 21:59:06 2010 +0300
@@ -241,6 +241,7 @@
         case TRawEvent::EButton1Up:
             {
             pointerEvent.iType = TPointerEvent::EButton1Up;
+            pointerEvent.iPosition = aRawEvent.Pos();
             break;
             }
         case TRawEvent::EPointerMove:
@@ -259,17 +260,25 @@
         return ETrue;
         }
 
+    TRawEvent rawEvent = aRawEvent;
+    if ( aRawEvent.Type() == TRawEvent::EButton1Up 
+         && aRawEvent.Pos() != pointerEvent.iPosition )
+        {
+        rawEvent.Set( TRawEvent::EButton1Up, 
+                      pointerEvent.iPosition.iX, 
+                      pointerEvent.iPosition.iY );
+        }
     
     switch(aRawEvent.Type())
         {
         case TRawEvent::EKeyUp:
         case TRawEvent::EKeyDown:
             {
-            return OnRawKeyEvent(aRawEvent);            
+            return OnRawKeyEvent( rawEvent );            
             }
         case TRawEvent::EButton1Down:
             {
-            TBool used = OnRawButton1Down(aRawEvent);
+            TBool used = OnRawButton1Down( rawEvent );
             
             if ( used )
                 {
@@ -280,19 +289,19 @@
             }
         case TRawEvent::EButton1Up:
             {
-            TBool used = OnRawButton1Up(aRawEvent);
+            TBool used = OnRawButton1Up( rawEvent );
             StopTimer();
             return used;
             }
         case TRawEvent::EPointerMove:
             {
-            return OnRawPointerMove(aRawEvent);
+            return OnRawPointerMove( rawEvent );
             }
         default:
             {
             return EFalse;
-            }            
-        }    
+            }
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -695,6 +704,18 @@
             SetDiscreeptPop(area); 
             }
             break;
+        case EPeninputOpUpdatePointerSuppressor:
+            {
+            TPointerEventSuppressorParameters parameters;
+            TPckg<TPointerEventSuppressorParameters> msgData( parameters );
+            msg->ReadL( KMsgSlot1, msgData );
+            
+            iPointerEventSuppressor->SetMaxTapMove( parameters.iMoveEventMaxMovement );
+            iPointerEventSuppressor->SetMaxTapDuration( parameters.iMoveEventTimeout );
+            iPointerEventSuppressor->SetMaxDownUpMove( parameters.iUpEventMaxMovement );
+            iPointerEventSuppressor->SetMaxDownUpDuration( parameters.iUpEventTimeout );
+            }
+            break;
         default:
             // unsupported opcode, panic the client
             {