From bdf2b506c38b38af531d8c8aa14dd51d89386899 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 20 Oct 2013 16:19:16 +0300 Subject: Intermediate commit of experimental iOS app hacking Change-Id: I9326c9684a9c53f1f9a3ea5603bcb44c941e8918 --- ios/experimental/LibreOffice/LibreOffice/View.m | 36 ++++++++++++++----------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'ios') diff --git a/ios/experimental/LibreOffice/LibreOffice/View.m b/ios/experimental/LibreOffice/LibreOffice/View.m index 44fa6df3aa3d..c90859592b92 100644 --- a/ios/experimental/LibreOffice/LibreOffice/View.m +++ b/ios/experimental/LibreOffice/LibreOffice/View.m @@ -155,10 +155,22 @@ - (void)panGesture:(UIPanGestureRecognizer *)gestureRecognizer { static enum { NONE, TOPLEFT, BOTTOMRIGHT } draggedHandle = NONE; - static CGFloat previousX = 0.0f, previousY = 0.0f; + static CGFloat previousX, previousY; CGPoint translation = [gestureRecognizer translationInView:self]; + if (gestureRecognizer.state == UIGestureRecognizerStateBegan) { + previousX = previousY = 0; + } + + CGFloat deltaX = translation.x - previousX; + CGFloat deltaY = translation.y - previousY; + + NSLog(@"drag: %f,%f", deltaX, deltaY); + + previousX = translation.x; + previousY = translation.y; + if (gestureRecognizer.state == UIGestureRecognizerStateBegan && gestureRecognizer.numberOfTouches == 1) { if (CGRectContainsPoint([self topLeftResizeHandle], @@ -172,16 +184,17 @@ if (draggedHandle == TOPLEFT) { const int N = self.selectionRectangleCount; - self.selectionRectangles[0].origin.x += translation.x; - self.selectionRectangles[0].origin.y += translation.y; - self.selectionRectangles[0].size.width -= translation.x; - self.selectionRectangles[0].size.height -= translation.y; + self.selectionRectangles[0].origin.x += deltaX; + self.selectionRectangles[0].origin.y += deltaY; + self.selectionRectangles[0].size.width -= deltaX; + self.selectionRectangles[0].size.height -= deltaY; #if 0 touch_lo_selection_attempt_resize(self.documentHandle, self.selectionRectangles, self.selectionRectangleCount); #else + touch_lo_tap(0, 0); touch_lo_mouse(self.selectionRectangles[0].origin.x, self.selectionRectangles[0].origin.y, DOWN, NONE); @@ -197,16 +210,15 @@ } else if (draggedHandle == BOTTOMRIGHT) { const int N = self.selectionRectangleCount; - self.selectionRectangles[N-1].origin.x += translation.x; - self.selectionRectangles[N-1].origin.y += translation.y; - self.selectionRectangles[N-1].size.width += translation.x; - self.selectionRectangles[N-1].size.height += translation.y; + self.selectionRectangles[N-1].size.width += deltaX; + self.selectionRectangles[N-1].size.height += deltaY; #if 0 touch_lo_selection_attempt_resize(self.documentHandle, self.selectionRectangles, self.selectionRectangleCount); #else + touch_lo_tap(0, 0); touch_lo_mouse(self.selectionRectangles[0].origin.x, self.selectionRectangles[0].origin.y, DOWN, NONE); @@ -222,16 +234,10 @@ } if (gestureRecognizer.state != UIGestureRecognizerStateBegan) { - int deltaX = translation.x - previousX; - int deltaY = translation.y - previousY; - // NSLog(@"panGesture: pan (delta): (%d,%d)", deltaX, deltaY); touch_lo_pan(deltaX, deltaY); } - - previousX = translation.x; - previousY = translation.y; } - (void)pinchGesture:(UIPinchGestureRecognizer *)gestureRecognizer -- cgit