Mercurial > emacs
view lib-src/ntlib.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 source
/* Utility and Unix shadow routines for GNU Emacs support programs on NT. Copyright (C) 1994, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #include <pwd.h> #include <malloc.h> /* Include these headers now so we don't have to worry about include order dependencies in common source files. */ #include <direct.h> #include <io.h> #include <stdio.h> #ifdef sleep #undef sleep #endif void sleep (unsigned long seconds); char *getwd (char *dir); int getppid (void); char * getlogin (void); char * cuserid (char * s); unsigned getuid (void); unsigned getegid (void); unsigned getgid (void); int setuid (unsigned uid); int setegid (unsigned gid); char * getpass (const char * prompt); int fchown (int fd, unsigned uid, unsigned gid); /* redirect or undo interceptions created by config.h */ #undef access #define access _access #undef chdir #define chdir _chdir #undef chmod #define chmod _chmod #undef close #define close _close #undef creat #define creat _creat #undef ctime #undef dup #define dup _dup #undef dup2 #define dup2 _dup2 #undef fopen #undef mkdir #define mkdir _mkdir #undef mktemp #define mktemp _mktemp #undef open #define open _open #undef pipe #define pipe _pipe #undef read #define read _read #undef rename #undef rmdir #define rmdir _rmdir #undef unlink #define unlink _unlink #undef write #define write _write /* map to MSVC names */ #define execlp _execlp #define execvp _execvp #define fdopen _fdopen #ifndef fileno #define fileno _fileno #endif #define getcwd _getcwd #define getw _getw #define getpid _getpid #define isatty _isatty #define locking _locking #define logb _logb #define _longjmp longjmp #define lseek _lseek #define popen _popen #define pclose _pclose #define umask _umask #define utime _utime #define index strchr #define rindex strrchr /* Make standard winsock definitions available if needed. */ #undef _WINSOCKAPI_ #undef _WINSOCK_H /* end of ntlib.h */