Mercurial > emacs
view src/s/umips.h @ 1717:aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
`has_vertical_scrollbars'.
(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
WINDOW_VERTICAL_SCROLLBAR_COLUMN,
WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
* window.h (struct window): New field `vertical_scrollbar'.
* xterm.h (struct x_display): vertical_scrollbars,
judge_timestamp, vertical_scrollbar_extra: New fields.
(struct scrollbar): New struct.
(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
* frame.c (make_frame): Initialize the `can_have_scrollbars' and
`has_vertical_scrollbars' fields of the frame.
* term.c (term_init): Note that TERMCAP terminals don't support
scrollbars.
(mouse_position_hook): Document new args.
(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
* termhooks.h: Declare and document them.
(enum scrollbar_part): New type.
(struct input_event): Describe the new form of the scrollbar_click
event type. Change `part' from a Lisp_Object to an enum
scrollbar_part. Add a new field `scrollbar'.
* keyboard.c (kbd_buffer_get_event): Pass appropriate new
parameters to *mouse_position_hook, and make_lispy_movement.
* xfns.c (x_set_vertical_scrollbar): New function.
(x_figure_window_size): Use new macros to calculate frame size.
(Fx_create_frame): Note that X Windows frames do support scroll
bars. Default to "yes".
* xterm.c: #include <X11/cursorfont.h> and "window.h".
(x_vertical_scrollbar_cursor): New variable.
(x_term_init): Initialize it.
(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
variables.
(XTmouse_position): Use them to return scrollbar movement events.
Take new arguments, for that purpose.
(x_window_to_scrollbar, x_scrollbar_create,
x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
XTjudge_scrollbars, x_scrollbar_expose,
x_scrollbar_background_expose, x_scrollbar_handle_click,
x_scrollbar_handle_motion): New functions to implement scrollbars.
(x_term_init): Set the termhooks.h hooks to point to them.
(x_set_window_size): Use new macros to calculate frame size. Set
vertical_scrollbar_extra field.
(x_make_frame_visible): Use the frame accessor
FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
frame's subwindows as well.
(XTread_socket): Use new size-calculation macros from xterm.h when
processing ConfigureNotify events.
(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
PIXEL_TO_CHAR_HEIGHT macros.
* ymakefile (xdisp.o): This now depends on termhooks.h.
(xterm.o): This now depends on window.h.
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Thu, 24 Dec 1992 06:17:18 +0000 |
| parents | e442bb589751 |
| children | 191acacfa1ec |
line wrap: on
line source
/* Definitions file for GNU Emacs running on Mips operating system. That system can emulate either BSD or Sys V, in either case with changes. If BSD is defined, we assume BSD is being emulated; otherwise, Sys V. */ #ifdef BSD #include "bsd4-3.h" #define C_SWITCH_SYSTEM -systype bsd43 #define LD_SWITCH_SYSTEM -systype bsd43 #define LIBS_SYSTEM -lmld #define LIBS_DEBUG #define START_FILES pre-crt0.o /lib/crt1.o #define LIB_STANDARD -lc /usr/lib/crtn.o #define COFF #define TERMINFO #undef MAIL_USE_FLOCK /* Someone should check this. */ #undef HAVE_UNION_WAIT #else /* not BSD */ #include "usg5-2-2.h" #define LIBS_SYSTEM -lmld #define LIBS_DEBUG #define START_FILES pre-crt0.o /usr/lib/crt1.o #define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o /* #define LIBS_TERMCAP -lcurses */ #define C_SWITCH_SYSTEM -I/usr/include/bsd /* Cancel certain parts of standard sysV support. */ #undef NONSYSTEM_DIR_LIBRARY #define SYSV_SYSTEM_DIR #undef static /* Don't try to use SIGIO or FIONREAD even though they are defined. */ #undef SIGIO #define BROKEN_FIONREAD /* Describe special kernel features. */ #define HAVE_SYSVIPC #define HAVE_TIMEVAL #if defined(emacs) #include <bsd/sys/time.h> #endif /* #define HAVE_SELECT The `select' in the system won't work for pipes, so don't use it. */ #define HAVE_DUP2 #define HAVE_GETWD #define HAVE_GETTIMEOFDAY #define HAVE_PTYS #define HAVE_SOCKETS /* #define BSTRING Supposedly removed. */ #undef NOMULTIPLEJOBS #define CLASH_DETECTION #if defined(HAVE_X_WINDOWS) && defined(HAVE_X11) #define HAVE_VFORK /* Graciously provided by libX.a */ #endif #define utimes utime /* Someone should check this. */ /* ??? */ #define IRIS #endif /* not BSD */ /* High order bit must be stripped off nlist return values */ #define FIXUP_KERNEL_SYMBOL_ADDR(NL) (NL)[0].n_value &= 0x7fffffff;
