summaryrefslogtreecommitdiff
path: root/platform/ios/Classes/MuHitView.m
diff options
context:
space:
mode:
authorPaul Gardiner <paul.gardiner@artifex.com>2013-10-03 15:14:01 +0100
committerPaul Gardiner <paul.gardiner@artifex.com>2013-10-09 14:31:12 +0100
commit5ac49662b7d7affd0b43c6b8e827e292b6b8e3e3 (patch)
tree35d03d97edec2db4463f7764efc95055fad3a216 /platform/ios/Classes/MuHitView.m
parent17c797eaaec9b33aedf4970fe2184f86f65b25d8 (diff)
downloadmupdf-5ac49662b7d7affd0b43c6b8e827e292b6b8e3e3.tar.xz
iOS: implement internal-link following
Also: add hooks for the other link types remove unnecessary protocol from MuPageViewReflow turn off optimizations for the debug build
Diffstat (limited to 'platform/ios/Classes/MuHitView.m')
-rw-r--r--platform/ios/Classes/MuHitView.m25
1 files changed, 25 insertions, 0 deletions
diff --git a/platform/ios/Classes/MuHitView.m b/platform/ios/Classes/MuHitView.m
index be67601a..5fe47d3d 100644
--- a/platform/ios/Classes/MuHitView.m
+++ b/platform/ios/Classes/MuHitView.m
@@ -66,6 +66,31 @@
[self setNeedsDisplay];
}
+- (MuTapResult *) handleTap:(CGPoint)pt
+{
+ CGSize scale = fitPageToScreen(pageSize, self.bounds.size);
+ pt.x /= scale.width;
+ pt.y /= scale.height;
+
+ for (int i = 0; i < hitCount; i++)
+ {
+ if (CGRectContainsPoint(hitRects[i], pt))
+ {
+ if (linkPage[i] >= 0)
+ {
+ return [[[MuTapResultInternalLink alloc] initWithPageNumber:linkPage[i]] autorelease];
+ }
+ if (linkUrl[i])
+ {
+ NSString *url = [NSString stringWithUTF8String:linkUrl[i]];
+ return [[[MuTapResultExternalLink alloc] initWithUrl:url] autorelease];
+ }
+ }
+ }
+
+ return nil;
+}
+
- (void) drawRect: (CGRect)r
{
CGSize scale = fitPageToScreen(pageSize, self.bounds.size);