uifw/AvKon/src/Aknslider.cpp
changeset 14 3320e4e6e8bb
parent 0 2f259fa3e83a
child 30 56e9a0aaad89
child 33 b3425bf29f82
equal deleted inserted replaced
0:2f259fa3e83a 14:3320e4e6e8bb
  3148             {
  3148             {
  3149             case TPointerEvent::EButton1Down:
  3149             case TPointerEvent::EButton1Down:
  3150                 {
  3150                 {
  3151                 if ( touchDownArea.Contains( aEvent.iPosition ) )
  3151                 if ( touchDownArea.Contains( aEvent.iPosition ) )
  3152                     {
  3152                     {
       
  3153                     TInt stepCount = SliderData()->Range() / SliderData()->iStepSize;
       
  3154                     if ( stepCount <= KStepThreshold )
       
  3155                         {
       
  3156                         MTouchFeedback* feedback = MTouchFeedback::Instance();
       
  3157                         if ( feedback )
       
  3158                             {
       
  3159                             feedback->InstantFeedback( this, ETouchFeedbackBasicSlider, aEvent );
       
  3160                             }
       
  3161                         }
  3153                        // repeat until thumb reaches the stylus down position    
  3162                        // repeat until thumb reaches the stylus down position    
  3154                     iExt->iPenInputPos = aEvent.iPosition;
  3163                     iExt->iPenInputPos = aEvent.iPosition;
  3155 
  3164 
  3156                     // Click was inside and down slider marker area
  3165                     // Click was inside and down slider marker area
  3157                     iExt->SetFlag( CAknSliderExtension::EFlagPointerDown );
  3166                     iExt->SetFlag( CAknSliderExtension::EFlagPointerDown );
  3159                     if ( mrect.Contains( aEvent.iPosition ) )
  3168                     if ( mrect.Contains( aEvent.iPosition ) )
  3160                         {
  3169                         {
  3161                         MTouchFeedback* feedback = MTouchFeedback::Instance();
  3170                         MTouchFeedback* feedback = MTouchFeedback::Instance();
  3162                         if ( feedback )
  3171                         if ( feedback )
  3163                             {
  3172                             {
  3164                             feedback->InstantFeedback( this, ETouchFeedbackSlider, aEvent );
  3173                             feedback->InstantFeedback( this, ETouchFeedbackBasicSlider, aEvent );
  3165                             }
  3174                             }
  3166                         iExt->SetFlag( CAknSliderExtension::EFlagDraggingThumb );
  3175                         iExt->SetFlag( CAknSliderExtension::EFlagDraggingThumb );
  3167                         reportDragEvent = EDragMarkerStart;
  3176                         reportDragEvent = EDragMarkerStart;
  3168                         }                    
  3177                         }                    
  3169                     // Marker icon changes - draw
  3178                     // Marker icon changes - draw
  3246                     {
  3255                     {
  3247                     MTouchFeedback* feedback = MTouchFeedback::Instance();
  3256                     MTouchFeedback* feedback = MTouchFeedback::Instance();
  3248                     if ( feedback )
  3257                     if ( feedback )
  3249                         {
  3258                         {
  3250                         feedback->InstantFeedback( this,
  3259                         feedback->InstantFeedback( this,
  3251                                                    ETouchFeedbackSlider,
  3260                                                    ETouchFeedbackBasicSlider,
  3252                                                    ETouchFeedbackVibra,
  3261                                                    ETouchFeedbackVibra,
  3253                                                    aEvent );
  3262                                                    aEvent );
  3254                         }
  3263                         }
  3255                     }
  3264                     }
  3256                 StopFeedback();
  3265                 StopFeedback();
  3607 
  3616 
  3608     if ( sliderValue != oldSliderValue )
  3617     if ( sliderValue != oldSliderValue )
  3609         {
  3618         {
  3610         if( aFeedback )
  3619         if( aFeedback )
  3611             {
  3620             {
  3612             MTouchFeedback* feedback = MTouchFeedback::Instance();
  3621             TInt stepCount = SliderData()->Range() / SliderData()->iStepSize;
  3613             if ( feedback )
  3622             if ( stepCount > KStepThreshold )
  3614                {
  3623                 {
  3615                feedback->InstantFeedback( this, ETouchFeedbackSlider );
  3624                 if ( iExt->IsFlagSet( CAknSliderExtension::EFlagPlayingContinuousFb ))
  3616                }          
  3625                     {
       
  3626                     if ( SliderData()->iFeedbackStyle == EAknSliderFbDynamic )
       
  3627                         {
       
  3628                         ModifyFeedback();
       
  3629                         }
       
  3630                     }
       
  3631                 else
       
  3632                     {
       
  3633                     StartFeedback( NULL, KNoFeedbackTimeout );
       
  3634                     }
       
  3635                 }
       
  3636             else
       
  3637                 {
       
  3638                 MTouchFeedback* feedback = MTouchFeedback::Instance();
       
  3639                 if ( feedback )
       
  3640                     {
       
  3641                     feedback->InstantFeedback( this, ETouchFeedbackBasicSlider );
       
  3642                     }
       
  3643                 }            
  3617             }
  3644             }
  3618 
  3645 
  3619         Window().Invalidate( Rect() );
  3646         Window().Invalidate( Rect() );
  3620         }
  3647         }
  3621     }    
  3648     }