Commit ddb2d8e2 authored by Chong Yidong's avatar Chong Yidong

* nsterm.m (ns_ring_bell): Revert last change (Bug#5569).

parent 2a4f8d3d
2010-02-18 Chong Yidong <cyd@stupidchicken.com>
* nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
2010-02-18 Glenn Morris <rgm@gnu.org>
* callint.c (Finteractive): Doc fix.
......
......@@ -808,58 +808,23 @@ Free a pool and temporary objects it refers to (callable from C)
view = FRAME_NS_VIEW (frame);
if (view != nil)
{
/* Get the bounds of our NSView */
NSRect viewBounds = [view bounds];
/* Height of each line to flash. */
int flash_height = FRAME_LINE_HEIGHT (frame);
int width = FRAME_PIXEL_WIDTH (frame)
- NS_SCROLL_BAR_WIDTH (frame);
/* Get the GraphicsContext */
CGContextRef ctxt = [[NSGraphicsContext currentContext] graphicsPort];
CGRect lowerLine, upperLine;
lowerLine =
CGRectMake(viewBounds.origin.x, viewBounds.origin.y,
width + NS_SCROLL_BAR_WIDTH(frame),
flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame));
upperLine =
CGRectMake(viewBounds.origin.x,
viewBounds.origin.y + viewBounds.size.height
- (flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame)),
width,
flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame));
/* Invert the colors using a difference blend. */
CGContextSetBlendMode(ctxt, kCGBlendModeDifference);
CGContextSetGrayFillColor(ctxt, 1, 1);
/* If window is tall, flash top and bottom line. */
if (viewBounds.size.height > 3 * FRAME_LINE_HEIGHT (frame))
{
CGContextFillRect(ctxt, upperLine);
CGContextFillRect(ctxt, lowerLine);
}
else
/* If it is short, flash it all. */
CGContextFillRect(ctxt, NSRectToCGRect([view bounds]));
/* Bounce Dock icon. Maybe we can allow some configuration here. */
[NSApp requestUserAttention: NSInformationalRequest];
NSRect r, surr;
NSPoint dim = NSMakePoint (128, 128);
r = [view bounds];
r.origin.x += (r.size.width - dim.x) / 2;
r.origin.y += (r.size.height - dim.y) / 2;
r.size.width = dim.x;
r.size.height = dim.y;
surr = NSInsetRect (r, -2, -2);
ns_focus (frame, &surr, 1);
[[view window] cacheImageInRect: [view convertRect: surr toView:nil]];
[ns_lookup_indexed_color (NS_FACE_FOREGROUND
(FRAME_DEFAULT_FACE (frame)), frame) set];
NSRectFill (r);
[[view window] flushWindow];
ns_timeout (150000);
/* If window is tall, flash top and bottom line. */
if (viewBounds.size.height > 3 * FRAME_LINE_HEIGHT (frame))
{
CGContextFillRect(ctxt, upperLine);
CGContextFillRect(ctxt, lowerLine);
}
else
/* If it is short, flash it all. */
CGContextFillRect(ctxt, NSRectToCGRect([view bounds]));
[[view window] restoreCachedImage];
[[view window] flushWindow];
ns_unfocus (frame);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment