Mercurial > emacs
view src/widget.h @ 55029:01ecdd56871c
(Qslice): New variable.
(syms_of_xdisp): Intern and staticpro it.
(pos_visible_p): Return pixel position in new x and y args.
(init_iterator): Reset it->slice info.
(handle_display_prop): Parse (slice ...) property.
(push_it, pop_it): Save/restore slice info.
(make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
force repositioning of tall row if window is vscrolled, as that
would reset vscroll.
(append_space): Set it->constrain_row_ascent_descent_p to avoid
increasing row height if row is non-empty.
(fill_image_glyph_string): Copy slice info.
(take_vertical_position_into_account): Simplify.
(produce_image_glyph): Handle iterator slice info, setup glyph
slice info. Do not force minimum line height.
(x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
do not increase height (ascent/descent) of non-empty row when
adding normal character glyph; instead reduce glyph ascent/descent
appropriately; if row is higher than current glyph, adjust glyph
descent/ascent to reposition glyph within the existing row.
Likewise, when char is newline, only set ascent/descent if row is
currently empty.
(note_mouse_highlight): Handle hotspots with sliced image.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Tue, 20 Apr 2004 22:19:09 +0000 |
parents | 695cf19ef79e |
children | a8fa7c632ee4 375f2633d815 |
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 P_ ((Widget, int, int)); void widget_store_internal_border P_ ((Widget widget)); #endif /* _EmacsFrame_h */ /* arch-tag: 98be17cc-8878-4701-abfa-66f1c04e9cb7 (do not change this comment) */