mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-20 12:16:40 +00:00
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:
parent
5bbd6ca292
commit
cc39cb890a
10 changed files with 168 additions and 36 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue