+- (void)setRotation:(float)angle
+{
+ CGAffineTransform transform = CGAffineTransformMakeRotation(angle);
+ transform.tx = -32.0;
+ transform.ty = [self frame].size.height + 32.0;
+ CGSSetWindowTransform([NSApp contextID],
+ (CGSWindowID)[self windowNumber],
+ CGAffineTransformTranslate(transform,
+ (([self frame].origin.x - 32.0) * -1),
+ (([[self screen] frame].size.height - ([self frame].origin.y) + 32.0) * -1) ));
+}
+
+- (BOOL)ignoresMouseEvents
+{
+ return _reallyIgnoresEvents;
+}
+
+- (void)setIgnoresMouseEvents:(BOOL)flag
+{
+ CGSValueObj key;
+ CGSValueObj ignore;
+
+ key = CGSCreateCString("IgnoreForEvents");
+ ignore = CGSCreateBoolean( (flag ? kCGSTrue : kCGSFalse) );
+ CGSSetWindowProperty([NSApp contextID], (CGSWindowID)[self windowNumber], key, ignore);
+ CGSReleaseObj(key);
+ CGSReleaseObj(ignore);
+
+ _reallyIgnoresEvents = flag;
+}
+