aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h72
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
3Copyright (C) 1985, 1993-1994, 1997-2012 Free Software Foundation, Inc. 3Copyright (C) 1985, 1993-1994, 1997-2013 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This 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);
3181void prepare_image_for_display (struct frame *, struct image *); 3185void prepare_image_for_display (struct frame *, struct image *);
3182ptrdiff_t lookup_image (struct frame *, Lisp_Object); 3186ptrdiff_t lookup_image (struct frame *, Lisp_Object);
3183 3187
3184unsigned 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
3196RGB_PIXEL_COLOR image_background (struct image *, struct frame *,
3185 XImagePtr_or_DC ximg); 3197 XImagePtr_or_DC ximg);
3186int image_background_transparent (struct image *, struct frame *, 3198int image_background_transparent (struct image *, struct frame *,
3187 XImagePtr_or_DC mask); 3199 XImagePtr_or_DC mask);