aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h43
1 files changed, 25 insertions, 18 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index dc44c698164..831803f58f4 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -575,7 +575,7 @@ struct glyph_pool
575 struct glyph *glyphs; 575 struct glyph *glyphs;
576 576
577 /* Allocated size of `glyphs'. */ 577 /* Allocated size of `glyphs'. */
578 int nglyphs; 578 ptrdiff_t nglyphs;
579 579
580 /* Number of rows and columns in a matrix. */ 580 /* Number of rows and columns in a matrix. */
581 int nrows, ncolumns; 581 int nrows, ncolumns;
@@ -625,7 +625,7 @@ struct glyph_matrix
625 struct glyph_row *rows; 625 struct glyph_row *rows;
626 626
627 /* Number of elements allocated for the vector rows above. */ 627 /* Number of elements allocated for the vector rows above. */
628 int rows_allocated; 628 ptrdiff_t rows_allocated;
629 629
630 /* The number of rows used by the window if all lines were displayed 630 /* The number of rows used by the window if all lines were displayed
631 with the smallest possible character height. */ 631 with the smallest possible character height. */
@@ -1240,7 +1240,7 @@ struct glyph_string
1240 struct composition *cmp; 1240 struct composition *cmp;
1241 1241
1242 /* If not negative, this string describes a compos. */ 1242 /* If not negative, this string describes a compos. */
1243 int cmp_id; 1243 ptrdiff_t cmp_id;
1244 1244
1245 /* Start and end glyph indices in a glyph-string. */ 1245 /* Start and end glyph indices in a glyph-string. */
1246 int cmp_from, cmp_to; 1246 int cmp_from, cmp_to;
@@ -1708,7 +1708,8 @@ struct face_cache
1708 struct face **faces_by_id; 1708 struct face **faces_by_id;
1709 1709
1710 /* The allocated size, and number of used slots of faces_by_id. */ 1710 /* The allocated size, and number of used slots of faces_by_id. */
1711 int size, used; 1711 ptrdiff_t size;
1712 int used;
1712 1713
1713 /* Flag indicating that attributes of the `menu' face have been 1714 /* Flag indicating that attributes of the `menu' face have been
1714 changed. */ 1715 changed. */
@@ -1776,7 +1777,7 @@ extern int face_change_count;
1776 3 bits for it, so we cannot use there values larger than 7. 1777 3 bits for it, so we cannot use there values larger than 7.
1777 1778
1778 The order of members must be in sync with the 8th element of the 1779 The order of members must be in sync with the 8th element of the
1779 member of unidata-prop-alist (in admin/unidata/unidata-getn.el) for 1780 member of unidata-prop-alist (in admin/unidata/unidata-gen.el) for
1780 Unicode character property `bidi-class'. */ 1781 Unicode character property `bidi-class'. */
1781typedef enum { 1782typedef enum {
1782 UNKNOWN_BT = 0, 1783 UNKNOWN_BT = 0,
@@ -1859,6 +1860,10 @@ struct bidi_it {
1859 EMACS_INT ignore_bn_limit; /* position until which to ignore BNs */ 1860 EMACS_INT ignore_bn_limit; /* position until which to ignore BNs */
1860 bidi_dir_t sor; /* direction of start-of-run in effect */ 1861 bidi_dir_t sor; /* direction of start-of-run in effect */
1861 int scan_dir; /* direction of text scan, 1: forw, -1: back */ 1862 int scan_dir; /* direction of text scan, 1: forw, -1: back */
1863 EMACS_INT disp_pos; /* position of display string after ch */
1864 int disp_prop; /* if non-zero, there really is a
1865 `display' property/string at disp_pos;
1866 if 2, the property is a `space' spec */
1862 int stack_idx; /* index of current data on the stack */ 1867 int stack_idx; /* index of current data on the stack */
1863 /* Note: Everything from here on is not copied/saved when the bidi 1868 /* Note: Everything from here on is not copied/saved when the bidi
1864 iterator state is saved, pushed, or popped. So only put here 1869 iterator state is saved, pushed, or popped. So only put here
@@ -1867,7 +1872,6 @@ struct bidi_it {
1867 struct bidi_string_data string; /* string to reorder */ 1872 struct bidi_string_data string; /* string to reorder */
1868 bidi_dir_t paragraph_dir; /* current paragraph direction */ 1873 bidi_dir_t paragraph_dir; /* current paragraph direction */
1869 EMACS_INT separator_limit; /* where paragraph separator should end */ 1874 EMACS_INT separator_limit; /* where paragraph separator should end */
1870 EMACS_INT disp_pos; /* position of display string after ch */
1871 unsigned first_elt : 1; /* if non-zero, examine current char first */ 1875 unsigned first_elt : 1; /* if non-zero, examine current char first */
1872 unsigned new_paragraph : 1; /* if non-zero, we expect a new paragraph */ 1876 unsigned new_paragraph : 1; /* if non-zero, we expect a new paragraph */
1873 unsigned frame_window_p : 1; /* non-zero if displaying on a GUI frame */ 1877 unsigned frame_window_p : 1; /* non-zero if displaying on a GUI frame */
@@ -2056,7 +2060,7 @@ struct composition_it
2056 EMACS_INT stop_pos; 2060 EMACS_INT stop_pos;
2057 /* ID number of the composition or glyph-string. If negative, we 2061 /* ID number of the composition or glyph-string. If negative, we
2058 are not iterating over a composition now. */ 2062 are not iterating over a composition now. */
2059 int id; 2063 ptrdiff_t id;
2060 /* If non-negative, character that triggers the automatic 2064 /* If non-negative, character that triggers the automatic
2061 composition at `stop_pos', and this is an automatic composition. 2065 composition at `stop_pos', and this is an automatic composition.
2062 If negative, this is a static composition. This is set to -2 2066 If negative, this is a static composition. This is set to -2
@@ -2246,7 +2250,7 @@ struct it
2246 struct { 2250 struct {
2247 Lisp_Object object; 2251 Lisp_Object object;
2248 struct it_slice slice; 2252 struct it_slice slice;
2249 int image_id; 2253 ptrdiff_t image_id;
2250 } image; 2254 } image;
2251 /* method == GET_FROM_COMPOSITION */ 2255 /* method == GET_FROM_COMPOSITION */
2252 struct { 2256 struct {
@@ -2376,7 +2380,7 @@ struct it
2376 enum glyphless_display_method glyphless_method; 2380 enum glyphless_display_method glyphless_method;
2377 2381
2378 /* If what == IT_IMAGE, the id of the image to display. */ 2382 /* If what == IT_IMAGE, the id of the image to display. */
2379 int image_id; 2383 ptrdiff_t image_id;
2380 2384
2381 /* Values from `slice' property. */ 2385 /* Values from `slice' property. */
2382 struct it_slice slice; 2386 struct it_slice slice;
@@ -2826,7 +2830,7 @@ struct image
2826 EMACS_UINT hash; 2830 EMACS_UINT hash;
2827 2831
2828 /* Image id of this image. */ 2832 /* Image id of this image. */
2829 int id; 2833 ptrdiff_t id;
2830 2834
2831 /* Hash collision chain. */ 2835 /* Hash collision chain. */
2832 struct image *next, *prev; 2836 struct image *next, *prev;
@@ -2845,13 +2849,13 @@ struct image_cache
2845 struct image **images; 2849 struct image **images;
2846 2850
2847 /* Allocated size of `images'. */ 2851 /* Allocated size of `images'. */
2848 unsigned size; 2852 ptrdiff_t size;
2849 2853
2850 /* Number of images in the cache. */ 2854 /* Number of images in the cache. */
2851 unsigned used; 2855 ptrdiff_t used;
2852 2856
2853 /* Reference count (number of frames sharing this cache). */ 2857 /* Reference count (number of frames sharing this cache). */
2854 int refcount; 2858 ptrdiff_t refcount;
2855}; 2859};
2856 2860
2857 2861
@@ -2976,7 +2980,7 @@ extern int bidi_mirror_char (int);
2976extern void bidi_push_it (struct bidi_it *); 2980extern void bidi_push_it (struct bidi_it *);
2977extern void bidi_pop_it (struct bidi_it *); 2981extern void bidi_pop_it (struct bidi_it *);
2978extern void *bidi_shelve_cache (void); 2982extern void *bidi_shelve_cache (void);
2979extern void bidi_unshelve_cache (void *); 2983extern void bidi_unshelve_cache (void *, int);
2980 2984
2981/* Defined in xdisp.c */ 2985/* Defined in xdisp.c */
2982 2986
@@ -3035,9 +3039,12 @@ extern Lisp_Object lookup_glyphless_char_display (int, struct it *);
3035extern int calc_pixel_width_or_height (double *, struct it *, Lisp_Object, 3039extern int calc_pixel_width_or_height (double *, struct it *, Lisp_Object,
3036 struct font *, int, int *); 3040 struct font *, int, int *);
3037extern EMACS_INT compute_display_string_pos (struct text_pos *, 3041extern EMACS_INT compute_display_string_pos (struct text_pos *,
3038 struct bidi_string_data *, int); 3042 struct bidi_string_data *,
3043 int, int *);
3039extern EMACS_INT compute_display_string_end (EMACS_INT, 3044extern EMACS_INT compute_display_string_end (EMACS_INT,
3040 struct bidi_string_data *); 3045 struct bidi_string_data *);
3046extern void produce_stretch_glyph (struct it *);
3047
3041 3048
3042#ifdef HAVE_WINDOW_SYSTEM 3049#ifdef HAVE_WINDOW_SYSTEM
3043 3050
@@ -3117,7 +3124,7 @@ void w32_reset_fringes (void);
3117extern int x_bitmap_height (struct frame *, ptrdiff_t); 3124extern int x_bitmap_height (struct frame *, ptrdiff_t);
3118extern int x_bitmap_width (struct frame *, ptrdiff_t); 3125extern int x_bitmap_width (struct frame *, ptrdiff_t);
3119extern int x_bitmap_pixmap (struct frame *, ptrdiff_t); 3126extern int x_bitmap_pixmap (struct frame *, ptrdiff_t);
3120extern void x_reference_bitmap (struct frame *, int); 3127extern void x_reference_bitmap (struct frame *, ptrdiff_t);
3121extern ptrdiff_t x_create_bitmap_from_data (struct frame *, char *, 3128extern ptrdiff_t x_create_bitmap_from_data (struct frame *, char *,
3122 unsigned int, unsigned int); 3129 unsigned int, unsigned int);
3123extern ptrdiff_t x_create_bitmap_from_file (struct frame *, Lisp_Object); 3130extern ptrdiff_t x_create_bitmap_from_file (struct frame *, Lisp_Object);
@@ -3138,7 +3145,7 @@ void clear_image_caches (Lisp_Object);
3138void mark_image_cache (struct image_cache *); 3145void mark_image_cache (struct image_cache *);
3139int valid_image_p (Lisp_Object); 3146int valid_image_p (Lisp_Object);
3140void prepare_image_for_display (struct frame *, struct image *); 3147void prepare_image_for_display (struct frame *, struct image *);
3141int lookup_image (struct frame *, Lisp_Object); 3148ptrdiff_t lookup_image (struct frame *, Lisp_Object);
3142 3149
3143unsigned long image_background (struct image *, struct frame *, 3150unsigned long image_background (struct image *, struct frame *,
3144 XImagePtr_or_DC ximg); 3151 XImagePtr_or_DC ximg);
@@ -3199,7 +3206,6 @@ int merge_faces (struct frame *, Lisp_Object, EMACS_INT, int);
3199int compute_char_face (struct frame *, int, Lisp_Object); 3206int compute_char_face (struct frame *, int, Lisp_Object);
3200void free_all_realized_faces (Lisp_Object); 3207void free_all_realized_faces (Lisp_Object);
3201extern Lisp_Object Qforeground_color, Qbackground_color; 3208extern Lisp_Object Qforeground_color, Qbackground_color;
3202extern Lisp_Object Qframe_set_background_mode;
3203extern char unspecified_fg[], unspecified_bg[]; 3209extern char unspecified_fg[], unspecified_bg[];
3204 3210
3205/* Defined in xfns.c */ 3211/* Defined in xfns.c */
@@ -3333,6 +3339,7 @@ extern struct terminal *get_named_tty (const char *);
3333EXFUN (Ftty_type, 1); 3339EXFUN (Ftty_type, 1);
3334extern void create_tty_output (struct frame *); 3340extern void create_tty_output (struct frame *);
3335extern struct terminal *init_tty (const char *, const char *, int); 3341extern struct terminal *init_tty (const char *, const char *, int);
3342extern void tty_append_glyph (struct it *);
3336 3343
3337 3344
3338/* Defined in scroll.c */ 3345/* Defined in scroll.c */