private void RadBookItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (!this.CanBeTurned)
     {
         return;
     }
     this.mousePoint = e.GetPosition((IInputElement)this);
     if (!FoldHelper.MouseWithinFoldAreas(this.mousePoint, this) && this.FoldSize != new Size(0.0, 0.0))
     {
         return;
     }
     this.draggedCorner = FoldHelper.GetQuadrant(this.mousePoint, this);
     this.targetCorner  = RadBookItem.GetOppositeCorner(this.draggedCorner);
     this.UpdatePageFold();
     if (this.doubleClickMode && this.PageFlipMode == PageFlipMode.DoubleClick)
     {
         if (this.mouseDoubleClick != null)
         {
             this.mouseDoubleClick((object)this, new MouseClickEventArgs(this.targetCorner));
         }
         this.doubleClickMode = false;
         this.doubleClickTimer.Stop();
     }
     else
     {
         this.singleClickMode = this.PageFlipMode == PageFlipMode.SingleClick;
         this.doubleClickMode = this.PageFlipMode == PageFlipMode.DoubleClick;
         this.dragStarted     = true;
         if (this.PageFlipMode == PageFlipMode.SingleClick)
         {
             this.singleClickTimer.Start();
         }
         else if (this.PageFlipMode == PageFlipMode.DoubleClick)
         {
             this.doubleClickTimer.Start();
         }
         else
         {
             this.singleClickTimer.Stop();
             this.doubleClickTimer.Stop();
         }
         if (this.mouseDragStart == null)
         {
             return;
         }
         this.mouseDragStart((object)this, new DragStartedEventArgs(this.draggedCorner, this.mousePoint));
     }
 }
 private void UpdatePageFold()
 {
     if (this.Position == PagePosition.Right)
     {
         if (FoldHelper.MouseWithinTopRightFoldArea(this.mousePoint, this.FoldSize, this.ActualWidth))
         {
             this.RaiseCornerEnterMove(FoldPosition.TopRight, 0.0, 0.0);
             this.lastEnteredCorner = FoldPosition.TopRight;
         }
         else if (FoldHelper.MouseWithinBottomRightFoldArea(this.mousePoint, this.FoldSize, this.ActualWidth, this.ActualHeight))
         {
             this.RaiseCornerEnterMove(FoldPosition.BottomRight, 0.0, 0.0);
             this.lastEnteredCorner = FoldPosition.BottomRight;
         }
         else
         {
             this.RaiseCornerLeave(FoldHelper.GetQuadrant(this.mousePoint, this));
             this.lastEnteredCorner = FoldPosition.None;
         }
     }
     else if (FoldHelper.MouseWithinTopLeftFoldArea(this.mousePoint, this.FoldSize))
     {
         this.RaiseCornerEnterMove(FoldPosition.TopLeft, 0.0, 0.0);
         this.lastEnteredCorner = FoldPosition.TopLeft;
     }
     else if (FoldHelper.MouseWithinBottomLeftFoldArea(this.mousePoint, this.FoldSize, this.ActualHeight))
     {
         this.RaiseCornerEnterMove(FoldPosition.BottomLeft, 0.0, 0.0);
         this.lastEnteredCorner = FoldPosition.BottomLeft;
     }
     else
     {
         this.RaiseCornerLeave(FoldHelper.GetQuadrant(this.mousePoint, this));
         this.lastEnteredCorner = FoldPosition.None;
     }
 }