Mercurial > emacs
view src/ndir.h @ 53180:a0409e91c835
(Vdisplay_pixels_per_inch): New variable.
(Vshow_text_cursor_in_void): New variable.
(glyph_to_pixel_coords): Don't use negative hpos.
(x_y_to_hpos_vpos): Fix for partially visible first glyph.
(append_stretch_glyph): Change ascent arg to be actual value
in pixels rather than ratio to height. Callers changed.
(calc_pixel_width_or_height): New aux function, implementing
pixel based artihmetic for glyph widths and heights.
(produce_stretch_glyph): Use calc_pixel_width_or_height for
:width, :height, :align-to, and :ascent, thus allowing these to
be specified in pixels as well as multiples of characters.
Don't produce stretch glyphs with zero width or height.
(get_specified_cursor_type): Declare static.
(get_window_cursor_type): Declare static. Add glyph arg to be
able to know when cursor is on an image; always substitute
hollow-box cursor for filled-box cursor on images, to avoid
negative images and flicker when blinking the cursor.
(display_and_set_cursor): Pass glyph to get_window_cursor_type.
(note_mode_line_or_margin_highlight): Use non-text cursor rather
than vertical scroll-bar cursor in display margins.
(note_mouse_highlight): Use non-text cursor rather than text
cursor in fringes and over images in the text area.
Use non-text cursor when mouse pointer is outside editable text,
i.e. in the void after end-of-line or end-of-buffer; this was
already done for W32, but is now standard for all systems --
user can toggle show-text-cursor-in-void to get old behaviour.
(syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
Vdisplay_pixels_per_inch.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Thu, 27 Nov 2003 21:17:23 +0000 |
parents | 695cf19ef79e |
children | 9511dc88835c 375f2633d815 |
line wrap: on
line source
/* <dir.h> -- definitions for 4.2BSD-compatible directory access last edit: 09-Jul-1983 D A Gwyn */ #ifdef VMS #ifndef FAB$C_BID #include <fab.h> #endif #ifndef NAM$C_BID #include <nam.h> #endif #ifndef RMS$_SUC #include <rmsdef.h> #endif #include "vmsdir.h" #endif /* VMS */ #define DIRBLKSIZ 512 /* size of directory block */ #ifdef VMS #define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */ #define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */ #else #ifdef WINDOWSNT #define MAXNAMLEN 255 #else /* not WINDOWSNT */ #define MAXNAMLEN 15 /* maximum filename length */ #endif /* not WINDOWSNT */ #endif /* VMS */ /* NOTE: MAXNAMLEN must be one less than a multiple of 4 */ struct direct /* data from readdir() */ { long d_ino; /* inode number of entry */ unsigned short d_reclen; /* length of this record */ unsigned short d_namlen; /* length of string in d_name */ char d_name[MAXNAMLEN+1]; /* name of file */ }; typedef struct { int dd_fd; /* file descriptor */ int dd_loc; /* offset in block */ int dd_size; /* amount of valid data */ char dd_buf[DIRBLKSIZ]; /* directory block */ } DIR; /* stream data from opendir() */ extern DIR *opendir(); extern struct direct *readdir(); extern long telldir(); extern void seekdir(); extern void closedir(); #define rewinddir( dirp ) seekdir( dirp, 0L ) /* arch-tag: aea50570-ffb7-43fd-b423-7743b10fbe6e (do not change this comment) */