summaryrefslogtreecommitdiff
path: root/platform/ios/Classes/MuHitView.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/Classes/MuHitView.m')
-rw-r--r--platform/ios/Classes/MuHitView.m125
1 files changed, 0 insertions, 125 deletions
diff --git a/platform/ios/Classes/MuHitView.m b/platform/ios/Classes/MuHitView.m
deleted file mode 100644
index 91f5f1ab..00000000
--- a/platform/ios/Classes/MuHitView.m
+++ /dev/null
@@ -1,125 +0,0 @@
-#import "common.h"
-#import "MuHitView.h"
-
-@implementation MuHitView
-{
- CGSize pageSize;
- int hitCount;
- CGRect hitRects[500];
- int linkPage[500];
- char *linkUrl[500];
- UIColor *color;
-}
-
-- (instancetype) initWithSearchResults: (int)n forDocument: (fz_document *)doc
-{
- self = [super initWithFrame: CGRectMake(0,0,100,100)];
- if (self) {
- [self setOpaque: NO];
-
- color = [[UIColor colorWithRed: 0x25/255.0 green: 0x72/255.0 blue: 0xAC/255.0 alpha: 0.5] retain];
-
- pageSize = CGSizeMake(100,100);
-
- for (int i = 0; i < n && i < nelem(hitRects); i++) {
- fz_rect bbox = search_result_bbox(doc, i); // this is thread-safe enough
- hitRects[i].origin.x = bbox.x0;
- hitRects[i].origin.y = bbox.y0;
- hitRects[i].size.width = bbox.x1 - bbox.x0;
- hitRects[i].size.height = bbox.y1 - bbox.y0;
- }
- hitCount = n;
- }
- return self;
-}
-
-- (instancetype) initWithLinks: (fz_link*)link forDocument: (fz_document *)doc
-{
- self = [super initWithFrame: CGRectMake(0,0,100,100)];
- if (self) {
- [self setOpaque: NO];
-
- color = [[UIColor colorWithRed: 0xAC/255.0 green: 0x72/255.0 blue: 0x25/255.0 alpha: 0.5] retain];
-
- pageSize = CGSizeMake(100,100);
-
- while (link && hitCount < nelem(hitRects)) {
- if (link->uri) {
- fz_rect bbox = link->rect;
- hitRects[hitCount].origin.x = bbox.x0;
- hitRects[hitCount].origin.y = bbox.y0;
- hitRects[hitCount].size.width = bbox.x1 - bbox.x0;
- hitRects[hitCount].size.height = bbox.y1 - bbox.y0;
- if (fz_is_external_link(ctx, link->uri)) {
- linkPage[hitCount] = -1;
- linkUrl[hitCount] = strdup(link->uri);
- } else {
- linkPage[hitCount] = fz_resolve_link(ctx, doc, link->uri, NULL, NULL);
- linkUrl[hitCount] = nil;
- }
- hitCount++;
- }
- link = link->next;
- }
- }
- return self;
-}
-
-- (void) setPageSize: (CGSize)s
-{
- pageSize = s;
- // if page takes a long time to load we may have drawn at the initial (wrong) size
- [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 = @(linkUrl[i]);
- return [[[MuTapResultExternalLink alloc] initWithUrl:url] autorelease];
- }
- }
- }
-
- return nil;
-}
-
-- (void) drawRect: (CGRect)r
-{
- CGSize scale = fitPageToScreen(pageSize, self.bounds.size);
-
- [color set];
-
- for (int i = 0; i < hitCount; i++) {
- CGRect rect = hitRects[i];
- rect.origin.x *= scale.width;
- rect.origin.y *= scale.height;
- rect.size.width *= scale.width;
- rect.size.height *= scale.height;
- UIRectFill(rect);
- }
-}
-
-- (void) dealloc
-{
- int i;
- [color release];
- for (i = 0; i < hitCount; i++)
- free(linkUrl[i]);
- [super dealloc];
-}
-
-@end