BWToolkit / NSWindow+BWAdditions.m

//
//  NSWindow+BWAdditions.m
//  BWToolkit
//
//  Created by Brandon Walkin (www.brandonwalkin.com)
//  All code is provided under the New BSD license.
//

#import "NSWindow+BWAdditions.h"

@implementation NSWindow (BWAdditions)

- (void)bwResizeToSize:(NSSize)newSize animate:(BOOL)animateFlag
{
	NSRect windowFrame;
	windowFrame.origin.x = [self frame].origin.x;

	if ([self isSheet])
	{
		float oldWidth = [self frame].size.width;
		float newWidth = newSize.width;
		
		float difference = oldWidth - newWidth;
		
		windowFrame.origin.x += difference / 2;
	}

	windowFrame.origin.y = [self frame].origin.y + [self frame].size.height - newSize.height;
	windowFrame.size.width = newSize.width;
	windowFrame.size.height = newSize.height;
	
	if (!NSIsEmptyRect(windowFrame))
		[self setFrame:windowFrame display:YES animate:animateFlag];
}

- (BOOL)bwIsTextured
{
	return (([self styleMask] & NSTexturedBackgroundWindowMask) != 0);
}

@end
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.