Mercurial > emacs
view src/widget.h @ 27019:3956e87adf2d
Changes for supporting mouse/modeline highlight and help echo features:
(dos_set_window_size) [__DJGPP__ > 1]: If the frame
dimensions changed, invalidate the mouse highlight info.
(disable_mouse_highlight, help_echo, previous_help_echo): New
variables.
(IT_set_mouse_pointer, show_mouse_face, clear_mouse_face)
(fast_find_position, IT_note_mode_line_highlight)
(IT_note_mouse_highlight): New functions.
(IT_update_begin): If the redisplay affects the window where the
mouse highlight is, clear the highlight. If the frame where the
highlight was displayed was killed, invalidate the highlight
info.
(IT_update_end): Reset the highlight flag. Reset the mouse
highlight-defer flag.
(IT_frame_up_to_date): New function, if mouse highlight was
deferred due to GC, do it now.
(internal_terminal_init): Initialize mouse-highlight related
members of the_only_x_display. Assign IT_frame_up_to_date to
frame_up_to_date_hook.
(dos_rawgetc): If the mouse moved, update mouse highlight. If
help_echo changed value, generate a HELP_EVENT event.
(syms_of_msdos): Staticpro help_echo and previous_help_echo.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Tue, 28 Dec 1999 15:59:34 +0000 |
parents | c61fea4f9105 |
children | 29053ba75ce5 |
line wrap: on
line source
/* The emacs frame widget public header file. Copyright (C) 1993 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 2, 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; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Emacs 19 face widget ported by Fred Pierresteguy */ #ifndef _EmacsFrame_h #define _EmacsFrame_h #define XtNminibuffer "minibuffer" #define XtCMinibuffer "Minibuffer" #define XtNunsplittable "unsplittable" #define XtCUnsplittable "Unsplittable" #define XtNinternalBorderWidth "internalBorderWidth" #define XtCInternalBorderWidth "InternalBorderWidth" #define XtNinterline "interline" #define XtCInterline "Interline" #ifndef XtNfont #define XtNfont "font" #endif #ifndef XtCFont #define XtCFont "Font" #endif #ifndef XtNforeground #define XtNforeground "foreground" #endif #ifndef XtCForeground #define XtCForeground "Foreground" #endif #define XtNcursorColor "cursorColor" #define XtCCursorColor "CursorColor" #define XtNbarCursor "barCursor" #define XtCBarCursor "BarCursor" #define XtNvisualBell "visualBell" #define XtCVisualBell "VisualBell" #define XtCBellVolume "BellVolume" #define XtNbellVolume "bellVolume" #define XtNpointerBackground "pointerBackground" #define XtNpointerColor "pointerColor" #define XtNtextPointer "textPointer" #define XtNspacePointer "spacePointer" #define XtNmodeLinePointer "modePointer" #define XtNgcPointer "gcPointer" #define XtNemacsFrame "emacsFrame" #define XtCEmacsFrame "EmacsFrame" #ifndef XtNgeometry #define XtNgeometry "geometry" #endif #ifndef XtCGeometry #define XtCGeometry "Geometry" #endif #ifndef XtNshowGrip #define XtNshowGrip "showGrip" #endif #ifndef XtNallowResize #define XtNallowResize "allowResize" #endif #ifndef XtNresizeToPreferred #define XtNresizeToPreferred "resizeToPreferred" #endif #define XtNinitialGeometry "initialGeometry" #define XtCInitialGeometry "InitialGeometry" /* structures */ typedef struct _EmacsFrameRec *EmacsFrame; typedef struct _EmacsFrameClassRec *EmacsFrameClass; extern WidgetClass emacsFrameClass; extern struct _DisplayContext* display_context; /* Special entrypoints */ void EmacsFrameSetCharSize (); void widget_store_internal_border P_ ((Widget widget)); #endif /* _EmacsFrame_h */