New string functions, patches from Richard and Wacko.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2676 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 1997-12-19 18:13:52 +00:00
parent 5bbd6ca292
commit cc39cb890a
10 changed files with 168 additions and 36 deletions

View file

@ -27,6 +27,7 @@
#include <gnustep/base/preface.h>
#include <Foundation/NSString.h>
#include <Foundation/NSGeometry.h>
#include <Foundation/NSScanner.h>
/**** Type, Constant, and Macro Definitions **********************************/
@ -425,3 +426,71 @@ NSStringFromSize(NSSize aSize)
aSize.width, aSize.height];
}
NSPoint NSPointFromString(NSString* string)
{
NSScanner* scanner = [NSScanner scannerWithString:string];
NSPoint point;
if ([scanner scanString:@"{" intoString:NULL]
&& [scanner scanString:@"x" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&point.x]
&& [scanner scanString:@";" intoString:NULL]
&& [scanner scanString:@"y" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&point.y]
&& [scanner scanString:@"}" intoString:NULL])
return point;
else
return NSMakePoint(0, 0);
}
NSSize NSSizeFromString(NSString* string)
{
NSScanner* scanner = [NSScanner scannerWithString:string];
NSSize size;
if ([scanner scanString:@"{" intoString:NULL]
&& [scanner scanString:@"width" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&size.width]
&& [scanner scanString:@";" intoString:NULL]
&& [scanner scanString:@"height" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&size.height]
&& [scanner scanString:@"}" intoString:NULL])
return size;
else
return NSMakeSize(0, 0);
}
NSRect NSRectFromString(NSString* string)
{
NSScanner* scanner = [NSScanner scannerWithString:string];
NSRect rect;
if ([scanner scanString:@"{" intoString:NULL]
&& [scanner scanString:@"x" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&rect.origin.x]
&& [scanner scanString:@";" intoString:NULL]
&& [scanner scanString:@"y" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&rect.origin.y]
&& [scanner scanString:@";" intoString:NULL]
&& [scanner scanString:@"width" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&rect.size.width]
&& [scanner scanString:@";" intoString:NULL]
&& [scanner scanString:@"height" intoString:NULL]
&& [scanner scanString:@"=" intoString:NULL]
&& [scanner scanFloat:&rect.size.height]
&& [scanner scanString:@"}" intoString:NULL])
return rect;
else
return NSMakeRect(0, 0, 0, 0);
}