Mercurial > emacs
view lwlib/lwlib-Xm.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
/* The lwlib interface to Motif widgets. Copyright (C) 1992 Lucid, Inc. This file is part of the Lucid Widget Library. The Lucid Widget Library 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 1, or (at your option) any later version. The Lucid Widget Library 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; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef LWLIB_XM_H #define LWLIB_XM_H #include "lwlib-int.h" extern widget_creation_entry xm_creation_table []; Widget xm_create_dialog (widget_instance* instance); Boolean lw_motif_widget_p (Widget widget); void xm_update_one_widget (widget_instance* instance, Widget widget, widget_value* val, Boolean deep_p); void xm_update_one_value (widget_instance* instance, Widget widget, widget_value* val); void xm_destroy_instance (widget_instance* instance); void xm_set_keyboard_focus (Widget parent, Widget w); void xm_popup_menu (Widget widget, XEvent *event); void xm_pop_instance (widget_instance* instance, Boolean up); void xm_set_main_areas (Widget parent, Widget menubar, Widget work_area); void xm_manage_resizing (Widget w, Boolean flag); #endif /* LWLIB_XM_H */