All pastes #128540 Raw Edit

Miscellany

public text v1 · immutable
#128540 ·published 2006-08-13 01:46 UTC
rendered paste body
- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {
	// replace contentRect with a fullscreen rect
	if ( [[NSScreen screens] count] > 0 ) {
		NSScreen* mainScreen = [[NSScreen screens] objectAtIndex:0];
		contentRect = [NSWindow frameRectForContentRect:[mainScreen frame] styleMask:NSBorderlessWindowMask];
	}
	
	// create an overlay window that hovers above all windows and doesn't respond to Exposé
	if ( nil == ( self = [super initWithContentRect:contentRect 
										  styleMask:NSBorderlessWindowMask
											backing:bufferingType
											  defer:NO] ) )
	{ // [super initWithContentRect:] failed
		return nil;
	}
		
	// sticky transparent floating window
	[self setLevel:NSScreenSaverWindowLevel]; // over *everything*
	[self setSticky:YES];
	
	[self setOpaque:NO];
	[self setAlphaValue:1.0];

	[self setContentView:mainView]; // shouldn't this resize the view to fill the window?

	return self;
}

- (void)mouseDown:(NSEvent*)theEvent {
	// these don't seem to work when called from initWithContentRect
	[self setHasShadow:NO];
	[self setContentView:mainView];
}