Changeset 377
- Timestamp:
- 04/10/07 17:07:40 (1 year ago)
- Files:
-
- branches/SVGImport/English.lproj/MainMenu.nib/info.nib (modified) (1 diff)
- branches/SVGImport/English.lproj/MainMenu.nib/keyedobjects.nib (modified) (previous)
- branches/SVGImport/LZPoint.h (modified) (1 diff)
- branches/SVGImport/LZPoint.m (modified) (1 diff)
- branches/SVGImport/MWBezier.m (modified) (1 diff)
- branches/SVGImport/MWPointView2.m (modified) (4 diffs)
- branches/SVGImport/MWSVGImport.m (modified) (2 diffs)
- branches/SVGImport/SVGImport.xcodeproj/project.pbxproj (modified) (4 diffs)
- branches/SVGImport/SVGImport.xcodeproj/wren.mode1 (modified) (25 diffs)
- branches/SVGImport/SVGImport.xcodeproj/wren.pbxuser (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/SVGImport/English.lproj/MainMenu.nib/info.nib
r375 r377 14 14 <key>IBOpenObjects</key> 15 15 <array> 16 <integer>29</integer> 16 17 <integer>21</integer> 17 <integer>29</integer>18 18 </array> 19 19 <key>IBSystem Version</key> branches/SVGImport/LZPoint.h
r375 r377 24 24 - (void)translateByX:(float)xValue y:(float)yValue; 25 25 - (void)setPoint:(NSPoint)newPoint; 26 - (void)setColor:(NSColor *)newColor; 26 27 27 28 - (NSPoint)point; branches/SVGImport/LZPoint.m
r375 r377 103 103 } 104 104 105 - (void)setColor:(NSColor *)newColor 106 { 107 if (color != newColor) { 108 [color release]; 109 color = [newColor copy]; 110 } 111 } 112 113 114 115 105 116 @end branches/SVGImport/MWBezier.m
r375 r377 44 44 outputPoint = [[LZPoint alloc] initWithPoint:tempOutPoint color:[NSColor whiteColor]]; 45 45 [array addObject:outputPoint]; 46 if (i>0) { 47 [[array objectAtIndex:i-1] setColor:[NSColor blackColor]]; 48 } 46 49 [outputPoint release]; 47 50 break; branches/SVGImport/MWPointView2.m
r375 r377 62 62 63 63 //crazy stuff starts here 64 NSFont *fontTest = [NSFont fontWithName:@"Zapfino" size:36.0]; 65 NSString *string = [NSString stringWithString:@"MacWarriors"]; 64 66 65 67 66 //NSGlyph outGlyph[[string length]]; … … 88 87 89 88 //testArray = [bezierTransformer convertBezierPath:path withPointsPerCurve:10]; 89 //NSFont *fontTest = [NSFont fontWithName:@"Zapfino" size:36.0]; 90 //NSString *string = [NSString stringWithString:@"MacWarriors"]; 90 91 //testArray = [[[[MWText alloc] initWithString:string font:fontTest origin:NSMakePoint(50,[self frame].size.height/2)] autorelease] points]; 91 92 //testArray = [[[[MWEllipse alloc] initWithOriginX:50 y:50 width:200 height:100] autorelease] points]; … … 95 96 MWSVGImport *svgImport; 96 97 svgImport = [[MWSVGImport alloc] init]; 97 [svgImport parseXMLFile:@"/Users/wren/Desktop/LaserLine Dev/SVGImport/samples/ ellipse2.svg"];98 [svgImport parseXMLFile:@"/Users/wren/Desktop/LaserLine Dev/SVGImport/samples/path2.svg"]; 98 99 99 100 NSMutableArray *arrayTemp = [svgImport array]; … … 107 108 108 109 [path removeAllPoints]; 109 110 110 111 q = [testArray objectAtIndex:0]; 111 112 p = [q point]; branches/SVGImport/MWSVGImport.m
r375 r377 102 102 float x,y,width,height; 103 103 float cx,cy,r,rx,ry; 104 NSString *pathData; 104 105 105 106 if ( [elementName isEqualToString:@"svg"] ) … … 147 148 [ellipse release]; 148 149 } 150 151 if ( [elementName isEqualToString:@"path"] ) 152 { 153 pathData = [NSString stringWithString:[attributeDict objectForKey:@"d"]]; 154 NSLog(@"path: %@",pathData); 155 NSScanner *theScanner = [NSScanner scannerWithString:pathData]; 156 NSCharacterSet *numberSet = [NSCharacterSet decimalDigitCharacterSet]; 157 NSCharacterSet *letterSet = [NSCharacterSet letterCharacterSet]; 158 NSCharacterSet *whiteSet = [NSCharacterSet whitespaceAndNewlineCharacterSet]; 159 NSString *command; 160 NSString *point; 161 NSBezierPath *path; 162 NSArray *tempArray; 163 path = [NSBezierPath bezierPath]; 164 while ([theScanner isAtEnd] == NO) { 165 //assume no horizontal or verticle lines at this moment 166 [theScanner scanUpToCharactersFromSet:numberSet intoString:&command]; 167 [theScanner scanUpToCharactersFromSet:letterSet intoString:&point]; 168 point = [point stringByTrimmingCharactersInSet:whiteSet]; 169 command = [command stringByTrimmingCharactersInSet:whiteSet]; 170 NSLog(@"Command: '%@'; Point: '%@'",command,point); 171 tempArray = [point componentsSeparatedByString:@" "]; 172 173 if ( [command isEqualToString:@"M"] ) 174 { 175 [path moveToPoint:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue])]; 176 } 177 178 if ( [command isEqualToString:@"L"] ) 179 { 180 [path lineToPoint:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue])]; 181 } 182 183 if ( [command isEqualToString:@"C"] ) 184 { 185 [path curveToPoint:NSMakePoint([[tempArray objectAtIndex:4] floatValue],[[tempArray objectAtIndex:5] floatValue]) 186 controlPoint1:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue]) 187 controlPoint2:NSMakePoint([[tempArray objectAtIndex:2] floatValue],[[tempArray objectAtIndex:3] floatValue])]; 188 } 189 190 if ( [command isEqualToString:@"Z"] || [command isEqualToString:@"z"] ) 191 { 192 [path closePath]; 193 } 194 } 195 196 [objects addObject:path]; 197 } 149 198 } 150 199 branches/SVGImport/SVGImport.xcodeproj/project.pbxproj
r375 r377 17 17 A23CF5AD0BB5D79F005FCF13 /* MWText.m in Sources */ = {isa = PBXBuildFile; fileRef = A23CF5AC0BB5D79F005FCF13 /* MWText.m */; }; 18 18 A2813E220BAF150A00ECE091 /* MWRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2813E210BAF150A00ECE091 /* MWRectangle.m */; }; 19 A291BF430BCC38AF009AA344 /* MWBezierPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = A291BF420BCC38AF009AA344 /* MWBezierPoints.m */; }; 19 20 A29C722D0BB4CC96005E04BC /* MWEllipse.m in Sources */ = {isa = PBXBuildFile; fileRef = A29C722C0BB4CC96005E04BC /* MWEllipse.m */; }; 20 21 A29C72420BB4D6D4005E04BC /* MWBezier.m in Sources */ = {isa = PBXBuildFile; fileRef = A29C72410BB4D6D4005E04BC /* MWBezier.m */; }; … … 45 46 A2813E200BAF150A00ECE091 /* MWRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWRectangle.h; sourceTree = "<group>"; }; 46 47 A2813E210BAF150A00ECE091 /* MWRectangle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWRectangle.m; sourceTree = "<group>"; }; 48 A291BF410BCC38AF009AA344 /* MWBezierPoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWBezierPoints.h; sourceTree = "<group>"; }; 49 A291BF420BCC38AF009AA344 /* MWBezierPoints.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWBezierPoints.m; sourceTree = "<group>"; }; 47 50 A29C722B0BB4CC96005E04BC /* MWEllipse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWEllipse.h; sourceTree = "<group>"; }; 48 51 A29C722C0BB4CC96005E04BC /* MWEllipse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWEllipse.m; sourceTree = "<group>"; }; … … 73 76 A29C72400BB4D6D4005E04BC /* MWBezier.h */, 74 77 A29C72410BB4D6D4005E04BC /* MWBezier.m */, 78 A291BF410BCC38AF009AA344 /* MWBezierPoints.h */, 79 A291BF420BCC38AF009AA344 /* MWBezierPoints.m */, 75 80 A29C73E00BB4E90C005E04BC /* MWPointView2.h */, 76 81 A29C73E10BB4E90C005E04BC /* MWPointView2.m */, … … 238 243 A29C73E20BB4E90C005E04BC /* MWPointView2.m in Sources */, 239 244 A23CF5AD0BB5D79F005FCF13 /* MWText.m in Sources */, 245 A291BF430BCC38AF009AA344 /* MWBezierPoints.m in Sources */, 240 246 ); 241 247 runOnlyForDeploymentPostprocessing = 0; branches/SVGImport/SVGImport.xcodeproj/wren.mode1
r375 r377 220 220 <array> 221 221 <dict> 222 <key>BecomeActive</key>223 <true/>224 222 <key>ContentConfiguration</key> 225 223 <dict> … … 265 263 <array> 266 264 <array> 267 <integer>1 7</integer>265 <integer>14</integer> 268 266 <integer>1</integer> 269 267 <integer>0</integer> … … 290 288 </array> 291 289 <key>RubberWindowFrame</key> 292 <string> -159 1440 819 0 0 1440 878 </string>290 <string>0 59 1440 819 0 0 1440 878 </string> 293 291 </dict> 294 292 <key>Module</key> … … 301 299 <array> 302 300 <dict> 301 <key>BecomeActive</key> 302 <true/> 303 303 <key>ContentConfiguration</key> 304 304 <dict> … … 306 306 <string>1CE0B20306471E060097A5F4</string> 307 307 <key>PBXProjectModuleLabel</key> 308 <string>MW SVGImport.m</string>308 <string>MWPointView2.m</string> 309 309 <key>PBXSplitModuleInNavigatorKey</key> 310 310 <dict> … … 314 314 <string>1CE0B20406471E060097A5F4</string> 315 315 <key>PBXProjectModuleLabel</key> 316 <string>MW SVGImport.m</string>316 <string>MWPointView2.m</string> 317 317 <key>_historyCapacity</key> 318 318 <integer>0</integer> 319 319 <key>bookmark</key> 320 <string>A2 4418260BCB4E1E00C9C609</string>320 <string>A291BFC70BCC4163009AA344</string> 321 321 <key>history</key> 322 322 <array> … … 329 329 <string>A24416AA0BCB3C6D00C9C609</string> 330 330 <string>A24416AC0BCB3C6D00C9C609</string> 331 <string>A24416FF0BCB3DE900C9C609</string>332 331 <string>A24417020BCB3DE900C9C609</string> 333 <string>A24417040BCB3DE900C9C609</string>334 <string>A244172B0BCB3F8800C9C609</string>335 <string>A244172C0BCB3F8800C9C609</string>336 <string>A24417D50BCB42EC00C9C609</string>337 332 <string>A24418080BCB453500C9C609</string> 338 <string>A24418090BCB453500C9C609</string> 339 <string>A244180A0BCB453500C9C609</string> 340 <string>A24418230BCB4E1E00C9C609</string> 341 <string>A24418240BCB4E1E00C9C609</string> 333 <string>A291BE560BCC2327009AA344</string> 334 <string>A291BE570BCC2327009AA344</string> 335 <string>A291BE970BCC254C009AA344</string> 336 <string>A291BF4E0BCC3A88009AA344</string> 337 <string>A291BF4F0BCC3A88009AA344</string> 338 <string>A291BF500BCC3A88009AA344</string> 339 <string>A291BF510BCC3A88009AA344</string> 340 <string>A291BFBF0BCC412B009AA344</string> 341 <string>A291BFC00BCC412B009AA344</string> 342 <string>A291BFC10BCC412B009AA344</string> 343 <string>A291BFC20BCC412B009AA344</string> 342 344 </array> 343 345 <key>prevStack</key> … … 362 364 <string>A23CF5D60BB5D95C005FCF13</string> 363 365 <string>A245CBDC0BB6401A00990C8F</string> 364 <string>A24416AF0BCB3C6D00C9C609</string> 365 <string>A24416B00BCB3C6D00C9C609</string> 366 <string>A24416B10BCB3C6D00C9C609</string> 367 <string>A24416B20BCB3C6D00C9C609</string> 368 <string>A24416B30BCB3C6D00C9C609</string> 369 <string>A24416B40BCB3C6D00C9C609</string> 370 <string>A24416B50BCB3C6D00C9C609</string> 371 <string>A24416B60BCB3C6D00C9C609</string> 372 <string>A24416B70BCB3C6D00C9C609</string> 373 <string>A24416B80BCB3C6D00C9C609</string> 374 <string>A24416B90BCB3C6D00C9C609</string> 375 <string>A24416BA0BCB3C6D00C9C609</string> 376 <string>A24416BB0BCB3C6D00C9C609</string> 377 <string>A24417060BCB3DE900C9C609</string> 378 <string>A24417070BCB3DE900C9C609</string> 379 <string>A24417080BCB3DE900C9C609</string> 380 <string>A24417090BCB3DE900C9C609</string> 381 <string>A244170A0BCB3DE900C9C609</string> 382 <string>A244170B0BCB3DE900C9C609</string> 383 <string>A244170C0BCB3DE900C9C609</string> 384 <string>A244170D0BCB3DE900C9C609</string> 385 <string>A244170E0BCB3DE900C9C609</string> 386 <string>A244170F0BCB3DE900C9C609</string> 387 <string>A24417100BCB3DE900C9C609</string> 388 <string>A24417110BCB3DE900C9C609</string> 389 <string>A24417170BCB3E4900C9C609</string> 390 <string>A24417310BCB3F8800C9C609</string> 391 <string>A24417320BCB3F8800C9C609</string> 392 <string>A24417330BCB3F8800C9C609</string> 393 <string>A24417340BCB3F8800C9C609</string> 394 <string>A24417350BCB3F8800C9C609</string> 395 <string>A24417360BCB3F8800C9C609</string> 396 <string>A24417370BCB3F8800C9C609</string> 397 <string>A24417380BCB3F8800C9C609</string> 398 <string>A24417390BCB3F8800C9C609</string> 399 <string>A244173A0BCB3F8800C9C609</string> 400 <string>A244173B0BCB3F8800C9C609</string> 401 <string>A244173C0BCB3F8800C9C609</string> 402 <string>A244173D0BCB3F8800C9C609</string> 403 <string>A244173E0BCB3F8800C9C609</string> 404 <string>A244173F0BCB3F8800C9C609</string> 405 <string>A24417400BCB3F8800C9C609</string> 406 <string>A24417410BCB3F8800C9C609</string> 407 <string>A24417420BCB3F8800C9C609</string> 408 <string>A24417430BCB3F8800C9C609</string> 409 <string>A24417440BCB3F8800C9C609</string> 410 <string>A24417450BCB3F8800C9C609</string> 411 <string>A24417460BCB3F8800C9C609</string> 412 <string>A24417470BCB3F8800C9C609</string> 413 <string>A24417480BCB3F8800C9C609</string> 414 <string>A24417490BCB3F8800C9C609</string> 415 <string>A244174A0BCB3F8800C9C609</string> 416 <string>A244174B0BCB3F8800C9C609</string> 417 <string>A244174C0BCB3F8800C9C609</string> 418 <string>A244174D0BCB3F8800C9C609</string> 419 <string>A244174E0BCB3F8800C9C609</string> 420 <string>A244174F0BCB3F8800C9C609</string> 421 <string>A24417500BCB3F8800C9C609</string> 422 <string>A24417510BCB3F8800C9C609</string> 423 <string>A24417520BCB3F8800C9C609</string> 424 <string>A24417530BCB3F8800C9C609</string> 425 <string>A24417540BCB3F8800C9C609</string> 426 <string>A24417550BCB3F8800C9C609</string> 427 <string>A24417560BCB3F8800C9C609</string> 428 <string>A24417570BCB3F8800C9C609</string> 429 <string>A24417580BCB3F8800C9C609</string> 430 <string>A24417590BCB3F8800C9C609</string> 431 <string>A24417840BCB40F400C9C609</string> 432 <string>A24417A90BCB414900C9C609</string> 433 <string>A24417AE0BCB417900C9C609</string> 434 <string>A24417AF0BCB417900C9C609</string> 435 <string>A24417C00BCB41D200C9C609</string> 436 <string>A24417C90BCB423300C9C609</string> 437 <string>A24417CA0BCB423300C9C609</string> 438 <string>A24417CB0BCB423300C9C609</string> 439 <string>A24417D70BCB42EC00C9C609</string> 440 <string>A24417D80BCB42EC00C9C609</string> 441 <string>A24417D90BCB42EC00C9C609</string> 442 <string>A24417DA0BCB42EC00C9C609</string> 443 <string>A24417DB0BCB42EC00C9C609</string> 444 <string>A244180C0BCB453500C9C609</string> 445 <string>A244180D0BCB453500C9C609</string> 446 <string>A244180E0BCB453500C9C609</string> 447 <string>A244180F0BCB453500C9C609</string> 448 <string>A24418100BCB453500C9C609</string> 449 <string>A24418110BCB453500C9C609</string> 450 <string>A24418120BCB453500C9C609</string> 451 <string>A24418130BCB453500C9C609</string> 452 <string>A24418140BCB453500C9C609</string> 453 <string>A24418150BCB453500C9C609</string> 454 <string>A24418250BCB4E1E00C9C609</string> 366 <string>A291BE5A0BCC2327009AA344</string> 367 <string>A291BE5B0BCC2327009AA344</string> 368 <string>A291BE5C0BCC2327009AA344</string> 369 <string>A291BE5D0BCC2327009AA344</string> 370 <string>A291BE600BCC2327009AA344</string> 371 <string>A291BE610BCC2327009AA344</string> 372 <string>A291BE620BCC2327009AA344</string> 373 <string>A291BE630BCC2327009AA344</string> 374 <string>A291BE640BCC2327009AA344</string> 375 <string>A291BE650BCC2327009AA344</string> 376 <string>A291BE660BCC2327009AA344</string> 377 <string>A291BE670BCC2327009AA344</string> 378 <string>A291BE680BCC2327009AA344</string> 379 <string>A291BE690BCC2327009AA344</string> 380 <string>A291BE7E0BCC23E3009AA344</string> 381 <string>A291BE850BCC2464009AA344</string> 382 <string>A291BE990BCC254C009AA344</string> 383 <string>A291BE9A0BCC254C009AA344</string> 384 <string>A291BE9B0BCC254C009AA344</string> 385 <string>A291BE9C0BCC254C009AA344</string> 386 <string>A291BE9D0BCC254C009AA344</string> 387 <string>A291BF2E0BCC36B5009AA344</string> 388 <string>A291BF2F0BCC36B5009AA344</string> 389 <string>A291BF550BCC3A88009AA344</string> 390 <string>A291BF560BCC3A88009AA344</string> 391 <string>A291BF570BCC3A88009AA344</string> 392 <string>A291BF580BCC3A88009AA344</string> 393 <string>A291BF590BCC3A88009AA344</string> 394 <string>A291BF5A0BCC3A88009AA344</string> 395 <string>A291BF5B0BCC3A88009AA344</string> 396 <string>A291BF5C0BCC3A88009AA344</string> 397 <string>A291BF5D0BCC3A88009AA344</string> 398 <string>A291BF5E0BCC3A88009AA344</string> 399 <string>A291BF5F0BCC3A88009AA344</string> 400 <string>A291BF600BCC3A88009AA344</string> 401 <string>A291BF610BCC3A88009AA344</string> 402 <string>A291BF620BCC3A88009AA344</string> 403 <string>A291BF630BCC3A88009AA344</string> 404 <string>A291BF640BCC3A88009AA344</string> 405 <string>A291BF650BCC3A88009AA344</string> 406 <string>A291BF660BCC3A88009AA344</string> 407 <string>A291BF670BCC3A88009AA344</string> 408 <string>A291BF680BCC3A88009AA344</string> 409 <string>A291BF690BCC3A88009AA344</string> 410 <string>A291BF6A0BCC3A88009AA344</string> 411 <string>A291BF6B0BCC3A88009AA344</string> 412 <string>A291BF6C0BCC3A88009AA344</string> 413 <string>A291BF6D0BCC3A88009AA344</string> 414 <string>A291BF6E0BCC3A88009AA344</string> 415 <string>A291BF6F0BCC3A88009AA344</string> 416 <string>A291BF700BCC3A88009AA344</string> 417 <string>A291BF710BCC3A88009AA344</string> 418 <string>A291BF720BCC3A88009AA344</string> 419 <string>A291BF730BCC3A88009AA344</string> 420 <string>A291BF740BCC3A88009AA344</string> 421 <string>A291BF800BCC3ABF009AA344</string> 422 <string>A291BF940BCC3CEF009AA344</string> 423 <string>A291BF9B0BCC3DA6009AA344</string> 424 <string>A291BFA80BCC3F13009AA344</string> 425 <string>A291BFC30BCC412B009AA344</string> 426
