From bfd2c744eb99057bba37f331672d828ba48f82f0 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Sat, 9 Oct 2010 11:56:52 +0000 Subject: =?UTF-8?q?=E2=80=A2=20implemented=20geometrycollection=20thumbnai?= =?UTF-8?q?l=20images=20as=20tooltips=20for=20spatial=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPGeometryDataView.m | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'Source/SPGeometryDataView.m') diff --git a/Source/SPGeometryDataView.m b/Source/SPGeometryDataView.m index ee27f15f..95e6d2b7 100644 --- a/Source/SPGeometryDataView.m +++ b/Source/SPGeometryDataView.m @@ -125,6 +125,7 @@ for(NSArray* lines in coordinates) { isFirst = YES; + path = [NSBezierPath bezierPath]; for(NSString* coord in lines) { aPoint = [self normalizePoint:NSPointFromString(coord)]; if(isFirst) { @@ -143,6 +144,7 @@ NSUInteger i = 0; for(NSArray* polygons in coordinates) { isFirst = YES; + path = [NSBezierPath bezierPath]; for(NSString* coord in polygons) { aPoint = [self normalizePoint:NSPointFromString(coord)]; if(isFirst) { @@ -167,7 +169,58 @@ i++; if(i>2) i=0; } + } + else if([type isEqualToString:@"GEOMETRYCOLLECTION"]) { + + for(NSString* coord in [coordinates objectAtIndex:0]) { + [self drawPoint:[self normalizePoint:NSPointFromString(coord)]]; + } + for(NSArray* lines in [coordinates objectAtIndex:1]) { + isFirst = YES; + path = [NSBezierPath bezierPath]; + for(NSString* coord in lines) { + aPoint = [self normalizePoint:NSPointFromString(coord)]; + if(isFirst) { + [path moveToPoint:aPoint]; + isFirst = NO; + } else { + [path lineToPoint:aPoint]; + } + [self drawPoint:aPoint]; + } + [[NSColor blackColor] setStroke]; + [path stroke]; + } + + NSUInteger i = 0; + for(NSArray* polygons in [coordinates objectAtIndex:2]) { + isFirst = YES; + path = [NSBezierPath bezierPath]; + for(NSString* coord in polygons) { + aPoint = [self normalizePoint:NSPointFromString(coord)]; + if(isFirst) { + [path moveToPoint:aPoint]; + isFirst = NO; + } else { + [path lineToPoint:aPoint]; + } + [self drawPoint:aPoint]; + } + [[NSColor blackColor] setStroke]; + switch(i) { + case 0: [polyFillColor1 setFill]; + break; + case 1: [polyFillColor2 setFill]; + break; + case 2: [polyFillColor3 setFill]; + break; + } + [path fill]; + [path stroke]; + i++; + if(i>2) i=0; + } } } -- cgit v1.2.3