diff options
Diffstat (limited to 'src/dispextern.h')
| -rw-r--r-- | src/dispextern.h | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index c5ebb808b05..cb2e944d1cc 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Interface definitions for display code. | 1 | /* Interface definitions for display code. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985, 1993-1994, 1997-2012 Free Software Foundation, Inc. | 3 | Copyright (C) 1985, 1993-1994, 1997-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -317,13 +317,18 @@ struct glyph | |||
| 317 | Lisp string, this is a position in that string. If it is a | 317 | Lisp string, this is a position in that string. If it is a |
| 318 | buffer, this is a position in that buffer. A value of -1 | 318 | buffer, this is a position in that buffer. A value of -1 |
| 319 | together with a null object means glyph is a truncation glyph at | 319 | together with a null object means glyph is a truncation glyph at |
| 320 | the start of a row. */ | 320 | the start of a row. Right truncation and continuation glyphs at |
| 321 | the right edge of a row have their position set to the next | ||
| 322 | buffer position that is not shown on this row. Glyphs inserted | ||
| 323 | by redisplay, such as the empty space after the end of a line on | ||
| 324 | TTYs, or the overlay-arrow on a TTY, have this set to -1. */ | ||
| 321 | ptrdiff_t charpos; | 325 | ptrdiff_t charpos; |
| 322 | 326 | ||
| 323 | /* Lisp object source of this glyph. Currently either a buffer or | 327 | /* Lisp object source of this glyph. Currently either a buffer or a |
| 324 | a string, if the glyph was produced from characters which came from | 328 | string, if the glyph was produced from characters which came from |
| 325 | a buffer or a string; or 0 if the glyph was inserted by redisplay | 329 | a buffer or a string; or 0 if the glyph was inserted by redisplay |
| 326 | for its own purposes such as padding. */ | 330 | for its own purposes, such as padding or truncation/continuation |
| 331 | glyphs, or the overlay-arrow glyphs on TTYs. */ | ||
| 327 | Lisp_Object object; | 332 | Lisp_Object object; |
| 328 | 333 | ||
| 329 | /* Width in pixels. */ | 334 | /* Width in pixels. */ |
| @@ -597,8 +602,8 @@ struct glyph_pool | |||
| 597 | 602 | ||
| 598 | 2. Window glyph matrices on frames having frame glyph matrices. | 603 | 2. Window glyph matrices on frames having frame glyph matrices. |
| 599 | Such matrices are sub-matrices of their corresponding frame matrix, | 604 | Such matrices are sub-matrices of their corresponding frame matrix, |
| 600 | i.e. frame glyph matrices and window glyph matrices share the same | 605 | i.e., frame glyph matrices and window glyph matrices share the same |
| 601 | glyph memory which is allocated in form of a glyph_pool structure. | 606 | glyph memory, which is allocated in the form of a glyph_pool structure. |
| 602 | Glyph rows in such a window matrix are slices of frame matrix rows. | 607 | Glyph rows in such a window matrix are slices of frame matrix rows. |
| 603 | 608 | ||
| 604 | 2. Free-standing window glyph matrices managing their own glyph | 609 | 2. Free-standing window glyph matrices managing their own glyph |
| @@ -1407,25 +1412,24 @@ struct glyph_string | |||
| 1407 | 1412 | ||
| 1408 | /* Value is non-zero if window W wants a mode line. */ | 1413 | /* Value is non-zero if window W wants a mode line. */ |
| 1409 | 1414 | ||
| 1410 | #define WINDOW_WANTS_MODELINE_P(W) \ | 1415 | #define WINDOW_WANTS_MODELINE_P(W) \ |
| 1411 | (!MINI_WINDOW_P ((W)) \ | 1416 | (!MINI_WINDOW_P ((W)) \ |
| 1412 | && !(W)->pseudo_window_p \ | 1417 | && !(W)->pseudo_window_p \ |
| 1413 | && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ | 1418 | && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ |
| 1414 | && BUFFERP (W->buffer) \ | 1419 | && BUFFERP (W->contents) \ |
| 1415 | && !NILP (BVAR (XBUFFER (W->buffer), mode_line_format)) \ | 1420 | && !NILP (BVAR (XBUFFER (W->contents), mode_line_format)) \ |
| 1416 | && WINDOW_TOTAL_LINES (W) > 1) | 1421 | && WINDOW_TOTAL_LINES (W) > 1) |
| 1417 | 1422 | ||
| 1418 | /* Value is true if window W wants a header line. */ | 1423 | /* Value is true if window W wants a header line. */ |
| 1419 | 1424 | ||
| 1420 | #define WINDOW_WANTS_HEADER_LINE_P(W) \ | 1425 | #define WINDOW_WANTS_HEADER_LINE_P(W) \ |
| 1421 | (!MINI_WINDOW_P ((W)) \ | 1426 | (!MINI_WINDOW_P ((W)) \ |
| 1422 | && !(W)->pseudo_window_p \ | 1427 | && !(W)->pseudo_window_p \ |
| 1423 | && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ | 1428 | && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ |
| 1424 | && BUFFERP (W->buffer) \ | 1429 | && BUFFERP (W->contents) \ |
| 1425 | && !NILP (BVAR (XBUFFER (W->buffer), header_line_format)) \ | 1430 | && !NILP (BVAR (XBUFFER (W->contents), header_line_format)) \ |
| 1426 | && WINDOW_TOTAL_LINES (W) > 1 \ | 1431 | && WINDOW_TOTAL_LINES (W) > 1 \ |
| 1427 | + !NILP (BVAR (XBUFFER (W->buffer), mode_line_format))) | 1432 | + !NILP (BVAR (XBUFFER (W->contents), mode_line_format))) |
| 1428 | |||
| 1429 | 1433 | ||
| 1430 | /* Return proper value to be used as baseline offset of font that has | 1434 | /* Return proper value to be used as baseline offset of font that has |
| 1431 | ASCENT and DESCENT to draw characters by the font at the vertical | 1435 | ASCENT and DESCENT to draw characters by the font at the vertical |
| @@ -1572,12 +1576,12 @@ struct face | |||
| 1572 | /* Pixmap width and height. */ | 1576 | /* Pixmap width and height. */ |
| 1573 | unsigned int pixmap_w, pixmap_h; | 1577 | unsigned int pixmap_w, pixmap_h; |
| 1574 | 1578 | ||
| 1575 | /* Non-zero means characters in this face have a box that thickness | 1579 | /* Non-zero means characters in this face have a box of that |
| 1576 | around them. If it is negative, the absolute value indicates the | 1580 | thickness around them. If this value is negative, its absolute |
| 1577 | thickness, and the horizontal lines of box (top and bottom) are | 1581 | value indicates the thickness, and the horizontal (top and |
| 1578 | drawn inside of characters glyph area. The vertical lines of box | 1582 | bottom) borders of box are drawn inside of the character glyphs' |
| 1579 | (left and right) are drawn as the same way as the case that this | 1583 | area. The vertical (left and right) borders of the box are drawn |
| 1580 | value is positive. */ | 1584 | in the same way as when this value is positive. */ |
| 1581 | int box_line_width; | 1585 | int box_line_width; |
| 1582 | 1586 | ||
| 1583 | /* Type of box drawn. A value of FACE_NO_BOX means no box is drawn | 1587 | /* Type of box drawn. A value of FACE_NO_BOX means no box is drawn |
| @@ -3181,7 +3185,15 @@ bool valid_image_p (Lisp_Object); | |||
| 3181 | void prepare_image_for_display (struct frame *, struct image *); | 3185 | void prepare_image_for_display (struct frame *, struct image *); |
| 3182 | ptrdiff_t lookup_image (struct frame *, Lisp_Object); | 3186 | ptrdiff_t lookup_image (struct frame *, Lisp_Object); |
| 3183 | 3187 | ||
| 3184 | unsigned long image_background (struct image *, struct frame *, | 3188 | #if defined (HAVE_X_WINDOWS) || defined (HAVE_NS) |
| 3189 | #define RGB_PIXEL_COLOR unsigned long | ||
| 3190 | #endif | ||
| 3191 | |||
| 3192 | #ifdef HAVE_NTGUI | ||
| 3193 | #define RGB_PIXEL_COLOR COLORREF | ||
| 3194 | #endif | ||
| 3195 | |||
| 3196 | RGB_PIXEL_COLOR image_background (struct image *, struct frame *, | ||
| 3185 | XImagePtr_or_DC ximg); | 3197 | XImagePtr_or_DC ximg); |
| 3186 | int image_background_transparent (struct image *, struct frame *, | 3198 | int image_background_transparent (struct image *, struct frame *, |
| 3187 | XImagePtr_or_DC mask); | 3199 | XImagePtr_or_DC mask); |