From e1cf0babff63e670e0d550b4072c22649a117fa7 Mon Sep 17 00:00:00 2001 From: randomguy3 Date: Mon, 9 Jan 2012 11:00:06 +0000 Subject: Re-make trunk git-svn-id: https://tikzit.svn.sourceforge.net/svnroot/tikzit/trunk@364 7c02a99a-9b00-45e3-bf44-6f3dd7fddb64 --- src/common/Shape.m | 141 ----------------------------------------------------- 1 file changed, 141 deletions(-) delete mode 100644 src/common/Shape.m (limited to 'src/common/Shape.m') diff --git a/src/common/Shape.m b/src/common/Shape.m deleted file mode 100644 index 8714031..0000000 --- a/src/common/Shape.m +++ /dev/null @@ -1,141 +0,0 @@ -// -// Shape.m -// TikZiT -// -// Copyright 2011 Aleks Kissinger. All rights reserved. -// -// -// This file is part of TikZiT. -// -// TikZiT is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// TikZiT is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with TikZiT. If not, see . -// - -#import "Edge.h" -#import "Shape.h" -#import "SupportDir.h" -#import "ShapeNames.h" -#import "CircleShape.h" -#import "RectangleShape.h" -#import "RegularPolyShape.h" -#import "TikzShape.h" -#import "util.h" - -@implementation Shape - -- (void)calcBoundingRect { - boundingRect = NSZeroRect; - - if (paths == nil) - return; - - for (NSArray *arr in paths) { - for (Edge *e in arr) { - boundingRect = NSUnionRect(boundingRect, [e boundingRect]); - } - } -} - -- (id)init { - [super init]; - paths = nil; - return self; -} - -- (NSSet*)paths {return paths;} -- (void)setPaths:(NSSet *)p { - if (paths != p) { - [paths release]; - paths = [p retain]; - [self calcBoundingRect]; - } -} - -- (NSRect)boundingRect { return boundingRect; } - -- (id)copyWithZone:(NSZone*)zone { - Shape *cp = [[[self class] allocWithZone:zone] init]; - [cp setPaths:paths]; - return cp; -} - -- (void)dealloc { - [paths release]; - [super dealloc]; -} - -NSDictionary *shapeDictionary = nil; - -+ (void)addShapesInDir:(NSString*)shapeDir to:(NSMutableDictionary*)shapeDict { - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSArray *files = [fileManager directoryContentsAtPath:shapeDir]; - - if (files != nil) { - NSString *nm; - for (NSString *f in files) { - if ([f hasSuffix:@".tikz"]) { - nm = [f substringToIndex:[f length]-5]; - TikzShape *sh = - [[TikzShape alloc] initWithTikzFile: - [shapeDir stringByAppendingPathComponent:f]]; - if (sh != nil) { - [shapeDict setObject:sh forKey:nm]; - [sh release]; - } - } - } - } -} - -+ (void)refreshShapeDictionary { - Shape *shapes[5] = { - [[CircleShape alloc] init], - [[RectangleShape alloc] init], - [[RegularPolyShape alloc] initWithSides:4 rotation:(M_PI/2.0f)], - [[RegularPolyShape alloc] initWithSides:3 rotation:(M_PI/2.0f)], - [[RegularPolyShape alloc] initWithSides:3 rotation:(-M_PI/2.0f)]}; - NSMutableDictionary *shapeDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys: - shapes[0], SHAPE_CIRCLE, - shapes[1], SHAPE_RECTANGLE, - shapes[2], SHAPE_DIAMOND, - shapes[3], SHAPE_UP_TRIANGLE, - shapes[4], SHAPE_DOWN_TRIANGLE, - nil]; - for (int i = 0; i<5; ++i) [shapes[i] release]; - - NSString *systemShapeDir = [[SupportDir systemSupportDir] stringByAppendingPathComponent:@"shapes"]; - NSString *userShapeDir = [[SupportDir userSupportDir] stringByAppendingPathComponent:@"shapes"]; - - [Shape addShapesInDir:systemShapeDir to:shapeDict]; - [Shape addShapesInDir:userShapeDir to:shapeDict]; - - shapeDictionary = shapeDict; - - [[NSNotificationCenter defaultCenter] - postNotificationName:@"ShapeDictionaryReplaced" - object:self]; -} - -+ (NSDictionary*)shapeDictionary { - if (shapeDictionary == nil) [Shape refreshShapeDictionary]; - return shapeDictionary; -} - -+ (Shape*)shapeForName:(NSString*)shapeName { - Shape *s = [[[Shape shapeDictionary] objectForKey:shapeName] copy]; - return [s autorelease]; -} - -@end - -// vi:ft=objc:ts=4:noet:sts=4:sw=4 -- cgit v1.2.3