mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 15:00:45 -08:00
* nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
This commit is contained in:
parent
2a4f8d3d57
commit
ddb2d8e235
2 changed files with 18 additions and 49 deletions
|
|
@ -1,3 +1,7 @@
|
|||
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.
|
||||
|
|
|
|||
63
src/nsterm.m
63
src/nsterm.m
|
|
@ -808,58 +808,23 @@ ns_ring_bell ()
|
|||
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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue