photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h
changeset 1 9ba538e329bd
parent 0 4e91876724a2
child 9 6b87b143d312
equal deleted inserted replaced
0:4e91876724a2 1:9ba538e329bd
    60     /**
    60     /**
    61     * Cancel the timer for continous zooming
    61     * Cancel the timer for continous zooming
    62     */     
    62     */     
    63     void CancelZoomPanTimer();
    63     void CancelZoomPanTimer();
    64     
    64     
       
    65     void CancelAnimationTimer();
       
    66 
       
    67     /**
       
    68     * Stops the timer for showing the UI. 
       
    69     */ 
       
    70     void CancelUITimer();
       
    71     
    65     /*
    72     /*
    66      * ActivateZoom from the Zoom control
    73      * ActivateZoom from the Zoom control
    67      */
    74      */
    68     void ActivateZoom(TInt initialZoomRatio, 
    75     void ActivateZoom(TInt initialZoomRatio, 
    69                         TSize imageSize, 
    76                         TSize imageSize, 
   165     /**
   172     /**
   166     * Starts the timer for continous Panning
   173     * Starts the timer for continous Panning
   167     */ 
   174     */ 
   168     void StartPanTimer();
   175     void StartPanTimer();
   169     
   176     
   170     /**
       
   171     * Stops the timer for showing the UI. 
       
   172     */ 
       
   173     void CancelUITimer();
       
   174     
   177     
   175     /**
   178     /**
   176     * Starts the timer for showing the UI.
   179     * Starts the timer for showing the UI.
   177     */ 
   180     */ 
   178     void StartUITimer(TTimeIntervalMicroSeconds32 aDelay,
   181     void StartUITimer(TTimeIntervalMicroSeconds32 aDelay,
   248     
   251     
   249     static TInt PanInertiaFrameElapsed(TAny* aPtr);
   252     static TInt PanInertiaFrameElapsed(TAny* aPtr);
   250 
   253 
   251     void NextStepInerticPan();
   254     void NextStepInerticPan();
   252 
   255 
   253     void CancelAnimationTimer();
       
   254     
   256     
   255 
   257 
   256     
   258     
   257 private:
   259 private:
   258     MGlxZoomEventHandlers&  iZoomEventHandler; 
   260     MGlxZoomEventHandlers&  iZoomEventHandler; 
   266     CPeriodic*          iUiTimer;                       // The Timer used to Hide the UI/Screen Furniture[Back Key/Slider] after 2 seconds
   268     CPeriodic*          iUiTimer;                       // The Timer used to Hide the UI/Screen Furniture[Back Key/Slider] after 2 seconds
   267     CPeriodic*          iZoomPanTimer;                  // The Timer used  for Zooming/Panning the Image Exponentially
   269     CPeriodic*          iZoomPanTimer;                  // The Timer used  for Zooming/Panning the Image Exponentially
   268     TPoint              iStartDisplayPoint;             // The variable holds the starting pointer posistion to determine the Drag Distance
   270     TPoint              iStartDisplayPoint;             // The variable holds the starting pointer posistion to determine the Drag Distance
   269     TTime               iDoubleTap;                     // This Variable is used to determine the double tap,by using the difference of the time 
   271     TTime               iDoubleTap;                     // This Variable is used to determine the double tap,by using the difference of the time 
   270                                                         // between subsequent single Tap.
   272                                                         // between subsequent single Tap.
   271     // [todo] do we need this variable to be global
   273     // [todo] do we need this variable to be at a class level
   272     TInt                iZoomRatio;
   274     TInt                iZoomRatio;
   273     TRect               iDoubleTapRect;                 // This varaible holds the rect for the Double Tap
   275     TRect               iDoubleTapRect;                 // This varaible holds the rect for the Double Tap
   274     TBool               iDragOngoing;                   // Is a drag event ongoing
   276     TBool               iDragOngoing;                   // Is a drag event ongoing
   275     TBool               iZoomActivated;                 // To Denote if zoom is activated
   277     TBool               iZoomActivated;                 // To Denote if zoom is activated
   276     TUiState            iZoomUiState;                   // To Denote if the Ui is On in zoom
   278     TUiState            iZoomUiState;                   // To Denote if the Ui is On in zoom
   277     
   279     
   278     TPoint              iPreviousPointerPosition;
   280     TPoint              iPreviousPointerPosition;
   279     TPoint              iPreviousDragStartPosition;
   281     TPoint              iPreviousDragStartPosition;
   280 
   282 
   281     // for the animated zoom to 50 % allowed. 
       
   282     TBool               iIsZoomingInAnimatedState;
   283     TBool               iIsZoomingInAnimatedState;
   283     TAnimationMode      iAnimatedZoomMode;
   284     TAnimationMode      iAnimatedZoomMode;
   284     CPeriodic*          iZoomAnimationTimer;
   285     CPeriodic*          iZoomAnimationTimer;
   285     TInt                iZoomPerInterval;
   286     TInt                iZoomPerInterval;
   286     TInt                iTargetAnimatedZoomRatio;
   287     TInt                iTargetAnimatedZoomRatio;
   287     // for the animated zoom to 50 % allowed. END 
   288     
   288 
   289     
   289     // For considering Zoom Focus. 
   290     TPoint              iZoomFocus;             
   290     TPoint              iZoomFocus;            // Not used right now. WIll soon carry the coordinates of the zoom focus. 
   291     
   291     // For considering Zoom Focus. END 
       
   292     
       
   293     // For Pan Inertia.
       
   294     GestureHelper::TGestureCode        iPreviousGestureCode ;
   292     GestureHelper::TGestureCode        iPreviousGestureCode ;
   295     // For Pan Inertia. END
   293     
   296     
   294     
   297     
   295     
   298     
   296     TGlxZoomAndPanMathsEngine iMathsEngine;             
   299     TGlxZoomAndPanMathsEngine iMathsEngine;             // The new Maths engine at the core of the Zoom Component
       
   300     
   297     
   301     
   298     
   302     };
   299     };
   303 
   300 
   304 
   301