Mercurial > emacs
diff src/nsterm.h @ 112396:e79e716435f4
Make Nextstep port handle multiple screens for resize and move.
* nsterm.h (ns_output): Add dont_constrain and zooming.
(EmacsView): Add ns_userRect.
* nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check
if ns_alternate_modifier is none.
* nsterm.m (x_set_offset, windowDidMove): When calculating y, use first
screen, not the window screen.
(x_set_window_size): Remove constraints.
Calculate origin.y only if zooming is 0 and without referring to a
screen.
(windowWillResize): Don't modify frameSize.
(windowDidBecomeKey, mouseDown): Set dont_constrain to 1.
(initFrameFromEmacs): Initialize ns_userRect.
(windowShouldZoom): Set zooming to one. Remove all other code.
(windowWillUseStandardFrame): Move static ns_userRect to EmacsView.
Zero it after restore.
(constrainFrameRect): New method for EmacsWindow.
(mouseDragged): Always post NSWindowDidResizeNotification after call to
windowWillResize.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Fri, 21 Jan 2011 15:19:44 +0100 |
parents | ef719132ddfa |
children |
line wrap: on
line diff
--- a/src/nsterm.h Fri Jan 21 09:35:30 2011 +0100 +++ b/src/nsterm.h Fri Jan 21 15:19:44 2011 +0100 @@ -66,6 +66,7 @@ int rows, cols; int scrollbarsNeedingUpdate; EmacsToolbar *toolbar; + NSRect ns_userRect; } /* AppKit-side interface */ @@ -565,6 +566,12 @@ /* This is the Emacs structure for the NS display this frame is on. */ struct ns_display_info *display_info; + + /* Non-zero if we want to constrain the frame to the screen. */ + int dont_constrain; + + /* Non-zero if we are zooming (maximizing) the frame. */ + int zooming; }; /* this dummy decl needed to support TTYs */