# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1277126151 -10800 # Node ID 514d98f21c43a093b0531f248b1094dca7f5bcb3 # Parent 125793e170044793ac3e41c9e16ffc3ccb018dce Revision: 201023 Kit: 2010125 diff -r 125793e17004 -r 514d98f21c43 mulwidgets/gesturehelper/src/gesture.cpp --- a/mulwidgets/gesturehelper/src/gesture.cpp Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/gesturehelper/src/gesture.cpp Mon Jun 21 16:15:51 2010 +0300 @@ -909,7 +909,8 @@ // TInt CGesture::PinchPercent() const { - return (iPinchEndDistance*100/iPinchStartDistance); + // Added 0.5 to avoid 5.7 getting rounded off to 5. + return (iPinchEndDistance*100/iPinchStartDistance) + 0.5; } // ---------------------------------------------------------------------------- @@ -922,9 +923,7 @@ { return TPoint(0,0); } - TInt greaterX = iPoints[0].iPos.iX > iSecondaryPoints[0].iPos.iX ? iPoints[0].iPos.iX : iSecondaryPoints[0].iPos.iX; - TInt greaterY = iPoints[0].iPos.iY > iSecondaryPoints[0].iPos.iY ? iPoints[0].iPos.iY : iSecondaryPoints[0].iPos.iY; - return TPoint( (Abs(iPoints[0].iPos.iX - iSecondaryPoints[0].iPos.iX)/2 + greaterX), (Abs(iPoints[0].iPos.iY - iSecondaryPoints[0].iPos.iY)/2 + greaterY)); + return TPoint( (iPoints[0].iPos.iX + iSecondaryPoints[0].iPos.iX)/2, (iPoints[0].iPos.iY + iSecondaryPoints[0].iPos.iY)/2); } // end of file diff -r 125793e17004 -r 514d98f21c43 mulwidgets/gesturehelper/src/gesturedefs.h --- a/mulwidgets/gesturehelper/src/gesturedefs.h Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/gesturehelper/src/gesturedefs.h Mon Jun 21 16:15:51 2010 +0300 @@ -43,7 +43,7 @@ const TInt KGestureTolerancePercent = 4; // of 100 /// Tolerance for considering it as pinch gesture for the first time -const TInt KInitialPinchTolerance = 20; // Pixels +const TInt KInitialPinchTolerance = 5; // Pixels /// Tolerance for considering it as pinch gesture after a pinch is detected const TInt KPinchTolerance = 5; // Pixels diff -r 125793e17004 -r 514d98f21c43 mulwidgets/mulsliderwidget/inc/mulslidercontrol.h --- a/mulwidgets/mulsliderwidget/inc/mulslidercontrol.h Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/mulsliderwidget/inc/mulslidercontrol.h Mon Jun 21 16:15:51 2010 +0300 @@ -125,8 +125,9 @@ * Generates the feedback based on the events recieved * * @param aEvent Events recieved by the widget on Drag + * @param aIntensity Intensity of the feedback.If not passed default will be 50 */ - void TactileEffectOnDrag(TAlfEvent& aEvent); + void TactileEffectOnDrag(TAlfEvent& aEvent , int aIntensity = 50 ); /** * Generates the feedback based on the thumb release diff -r 125793e17004 -r 514d98f21c43 mulwidgets/mulsliderwidget/inc/mulslidervertical.h --- a/mulwidgets/mulsliderwidget/inc/mulslidervertical.h Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/mulsliderwidget/inc/mulslidervertical.h Mon Jun 21 16:15:51 2010 +0300 @@ -308,9 +308,7 @@ * initializes Model and Widget Pointer */ void initializeSliderData(); - - - + /** * SetBackgroundBrush * @@ -361,6 +359,12 @@ */ TAlfImage skinTexture(TSize aPrtImageSize, TSize aLscImageSize, TInt aPrtSkinId, TInt aLscSkinId ); + /* + * Get the Feedback Intensity + */ + TInt feedbackIntensity(); + + private: // Class Data diff -r 125793e17004 -r 514d98f21c43 mulwidgets/mulsliderwidget/src/mulslidercontrol.cpp --- a/mulwidgets/mulsliderwidget/src/mulslidercontrol.cpp Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/mulsliderwidget/src/mulslidercontrol.cpp Mon Jun 21 16:15:51 2010 +0300 @@ -243,14 +243,14 @@ //TactileEffectOnDrag // //---------------------------------------------------------------------- -void MulSliderControl::TactileEffectOnDrag(TAlfEvent& aEvent) +void MulSliderControl::TactileEffectOnDrag(TAlfEvent& aEvent, int aIntensity) { if (mTactilefdbInstance) { CCoeControl* ccoecntrl = static_cast(Display()->ObjectProvider()); - TInt intensity = 50; + TInt intensity = aIntensity; TTimeIntervalMicroSeconds32 timespan = 400000; - mTactilefdbInstance->StartFeedback(ccoecntrl,ETouchContinuousSlider,&aEvent.PointerEvent(),intensity,timespan); + mTactilefdbInstance->StartFeedback(ccoecntrl,ETouchDynamicSlider,&aEvent.PointerEvent(),intensity,timespan); mDragTactileFeedbackStarted = true; } } diff -r 125793e17004 -r 514d98f21c43 mulwidgets/mulsliderwidget/src/mulverticalslider.cpp --- a/mulwidgets/mulsliderwidget/src/mulverticalslider.cpp Tue May 25 13:16:14 2010 +0300 +++ b/mulwidgets/mulsliderwidget/src/mulverticalslider.cpp Mon Jun 21 16:15:51 2010 +0300 @@ -101,6 +101,7 @@ int mZoomInTextureLscId; int mZoomOutTexturePrtId; int mZoomOutTextureLscId; + bool misSetModel; CAlfLayout* mMainLayout; @@ -122,6 +123,7 @@ { mOperation = false; mSliderHit = false; + misSetModel = false; mTickInPixels = 0; mRangeInPixels = 0; mCurrTickInPixels = 0; @@ -328,7 +330,9 @@ // void MulSliderVertical::layoutVisuals( sliderTemplate /*aTemplateId*/) { - bool relayout = false; + + bool relayout = mData->misSetModel; + if(mData->mLayoutMirrored != AknLayoutUtils::LayoutMirrored()) { mData->mOrientationLandScape = !mSliderModel->IsLandscape(); @@ -342,7 +346,7 @@ } if(relayout) { - + mData->misSetModel = false; CAlfControl* ctrl = (CAlfControl*)&control(); TAknLayoutRect layoutRect; //get the lct rect for mBaseSliderLayout and set it @@ -794,10 +798,7 @@ (mSliderModel->MaxRange() - mSliderModel->MinRange()) ; } // Get the track start pixel value - mData->mTrackStartPoint = - sliderCentrePos + - sliderCentreSize - - sliderHandleSize ; + mData->mTrackStartPoint = sliderCentrePos + sliderCentreSize - sliderHandleSize ; // Store current tick mData->mCurrTick = mSliderModel->PrimaryValue() ; if(mSliderModel->MaxRange()== mSliderModel->MinRange()) @@ -807,6 +808,22 @@ mData->mTick = mSliderModel->Tick(); } +//---------------------------------------------------------------------------- +// FeedbackIntensity +//---------------------------------------------------------------------------- +// +TInt MulSliderVertical::feedbackIntensity() + { + /* We need to find the position of the thumb w.r.t the slider track. + * mData->mTickInPixels will give the no. of pixels each tick will + * + */ + + int deltaY = (mSliderModel->PrimaryValue() - mSliderModel->MinRange()) * + mData->mTickInPixels; + TInt intensity = ( deltaY * 100 )/ mData->mRangeInPixels ; + return intensity ; + } // --------------------------------------------------------------------------- // createVisualization @@ -821,7 +838,8 @@ mData->mLayoutMirrored = false; // Create the visualization CAlfControl* ctrl = (CAlfControl*)&control(); - mData->mOrientationLandScape = !mSliderModel->IsLandscape(); + mData->mOrientationLandScape = mSliderModel->IsLandscape(); + mData->misSetModel = true; // Visual Hierarchy creation // create the mMainLayout @@ -1142,7 +1160,8 @@ updateModelPrimaryValue(newPos); //Tactile Feedback For Thumb Drag MulSliderControl& sldrcntrl = static_cast(control()); - sldrcntrl.TactileEffectOnDrag(*aEvent); + int fdbintensity = feedbackIntensity(); + sldrcntrl.TactileEffectOnDrag(*aEvent , fdbintensity ); ret = EEventHandled; }