diff src/redisplay.h @ 185:3d6bfa290dbd r20-3b19

Import from CVS: tag r20-3b19
author cvs
date Mon, 13 Aug 2007 09:55:28 +0200
parents e121b013d1f0
children b2472a1930f2
line wrap: on
line diff
--- a/src/redisplay.h	Mon Aug 13 09:54:24 2007 +0200
+++ b/src/redisplay.h	Mon Aug 13 09:55:28 2007 +0200
@@ -46,15 +46,16 @@
    end buffer positions for a contiguous set of lines on that piece
    of paper. */
 
+typedef struct line_start_cache line_start_cache;
 struct line_start_cache
 {
   Bufpos start, end;
   int height;
 };
 
-typedef struct line_start_cache_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct line_start_cache);
+  Dynarr_declare (line_start_cache);
 } line_start_cache_dynarr;
 
 /* The possible types of runes.
@@ -88,7 +89,8 @@
    (Printable characters typically have one rune associated with them,
    but control characters have two -- a ^ and a letter -- and other
    non-printing characters (those displayed in octal) have four. */
-   
+
+typedef struct rune rune;
 struct rune
 {
   face_index findex;		/* face rune is displayed with.  The
@@ -132,13 +134,13 @@
 				   glyph to the left while still clipping
 				   at XPOS. */
     } dglyph;
-    
+
     /* CHAR */
     struct
     {
       Emchar ch;		/* Cbaracter of this rune. */
     } chr;
-    
+
     /* HLINE */
     struct
     {
@@ -148,9 +150,9 @@
   } object;			/* actual rune object */
 };
 
-typedef struct rune_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct rune);
+  Dynarr_declare (rune);
 } rune_dynarr;
 
 /* These must have distinct values.  Note that the ordering actually
@@ -188,6 +190,7 @@
    reduce the amount of X traffic, which will help things significantly
    on a slow line. */
 
+typedef struct display_block display_block;
 struct display_block
 {
   enum display_type type;	/* type of display block */
@@ -198,9 +201,9 @@
   rune_dynarr *runes;		/* Dynamic array of runes */
 };
 
-typedef struct display_block_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct display_block);
+  Dynarr_declare (display_block);
 } display_block_dynarr;
 
 typedef struct layout_bounds_type
@@ -213,6 +216,7 @@
   int right_out;
 } layout_bounds;
 
+typedef struct glyph_block glyph_block;
 struct glyph_block
 {
   Lisp_Object glyph;
@@ -223,11 +227,12 @@
   int width;
 };
 
-typedef struct glyph_block_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct glyph_block);
+  Dynarr_declare (glyph_block);
 } glyph_block_dynarr;
 
+typedef struct display_line display_line;
 struct display_line
 {
   short ypos;				/* vertical position in pixels
@@ -264,19 +269,19 @@
   glyph_block_dynarr *right_glyphs;
 };
 
-typedef struct display_line_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct display_line);
+  Dynarr_declare (display_line);
 } display_line_dynarr;
 
 /* It could be argued that the following two structs belong in
    extents.h, but they're only used by redisplay and it simplifies
    the header files to put them here. */
 
-typedef struct extent_dynarr_type
+typedef struct
 {
-  Dynarr_declare (struct extent *);
-} extent_dynarr;
+  Dynarr_declare (EXTENT);
+} EXTENT_dynarr;
 
 struct font_metric_info
 {
@@ -296,7 +301,7 @@
   Lisp_Object object; /* buffer or string */
   struct frame *frm;
   Bytind pos, end;
-  extent_dynarr *extents;
+  EXTENT_dynarr *extents;
   glyph_block_dynarr *begin_glyphs, *end_glyphs;
   unsigned int invisible:1;
   unsigned int invisible_ellipses:1;