QuartzRenderer.m
1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// QuartzRenderer.m
// RouteMe
//
// Created by Joseph Gentle on 8/09/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
#import "QuartzRenderer.h"
#import "TileLoader.h"
#import "MapView.h"
#import "FractalTileProjection.h"
#import "TileSource.h"
#import "ScreenProjection.h"
@implementation QuartzRenderer
- (id) initWithView: (MapView *)_view
{
if (![super initWithView:_view])
return nil;
tileLoader = [[TileLoader alloc] initForScreen:screenProjection FromImageSource:[view tileSource]];
return self;
}
-(void) dealloc
{
[tileLoader release];
[super dealloc];
}
-(void) recalculateImageSet
{
[tileLoader assemble];
}
- (void)drawRect:(CGRect)rect
{
[tileLoader draw];
}
- (void)moveBy: (CGSize) delta
{
[super moveBy:delta];
[tileLoader moveBy:delta];
}
- (void)zoomByFactor: (float) zoomFactor Near:(CGPoint) center
{
[super zoomByFactor:zoomFactor Near:center];
[tileLoader zoomByFactor:zoomFactor Near:center];
}
- (void)tileDidFinishLoading: (TileImage *)image
{
[view setNeedsDisplay];
}
@end