summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h49
1 files changed, 38 insertions, 11 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 954992a0ec2..ca7834dec55 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1075,6 +1075,9 @@ struct glyph_row
right-to-left paragraph. */
bool_bf reversed_p : 1;
+ /* Whether or not a stipple was drawn in this row at some point. */
+ bool_bf stipple_p : 1;
+
/* Continuation lines width at the start of the row. */
int continuation_lines_width;
@@ -1720,6 +1723,12 @@ struct face
int box_vertical_line_width;
int box_horizontal_line_width;
+
+ /* The amount of pixels above the descent line the underline should
+ be displayed. It does not take effect unless
+ `underline_at_descent_line_p` is t. */
+ int underline_pixels_above_descent_line;
+
/* Type of box drawn. A value of FACE_NO_BOX means no box is drawn
around text in this face. A value of FACE_SIMPLE_BOX means a box
of width box_line_width is drawn in color box_color. A value of
@@ -1753,6 +1762,9 @@ struct face
bool_bf strike_through_color_defaulted_p : 1;
bool_bf box_color_defaulted_p : 1;
+ /* True means the underline should be drawn at the descent line. */
+ bool_bf underline_at_descent_line_p : 1;
+
/* TTY appearances. Colors are found in `lface' with empty color
string meaning the default color of the TTY. */
bool_bf tty_bold_p : 1;
@@ -1844,7 +1856,6 @@ enum face_id
CHILD_FRAME_BORDER_FACE_ID,
TAB_BAR_FACE_ID,
TAB_LINE_FACE_ID,
- MODE_LINE_FACE_ID,
BASIC_FACE_ID_SENTINEL
};
@@ -2731,11 +2742,11 @@ struct it
/* The line number of point's line, or zero if not computed yet. */
ptrdiff_t pt_lnum;
- /* Number of pixels to offset tab stops due to width fixup of the
- first glyph that crosses first_visible_x. This is only needed on
- GUI frames, only when display-line-numbers is in effect, and only
- in hscrolled windows. */
- int tab_offset;
+ /* Number of pixels to adjust tab stops and stretch glyphs due to
+ width fixup of the first stretch glyph that crosses first_visible_x.
+ This is only needed on GUI frames, only when display-line-numbers
+ is in effect, and only in hscrolled windows. */
+ int stretch_adjust;
/* Left fringe bitmap number (enum fringe_bitmap_type). */
unsigned left_user_fringe_bitmap : FRINGE_ID_BITS;
@@ -3074,12 +3085,15 @@ struct image
XFORM xform;
#endif
#ifdef HAVE_HAIKU
- /* Non-zero if the image has not yet been transformed for display. */
- int have_be_transforms_p;
+ /* The affine transformation to apply to this image. */
+ double transform[3][3];
+
+ /* The original width and height of the image. */
+ int original_width, original_height;
- double be_rotate;
- double be_scale_x;
- double be_scale_y;
+ /* Whether or not bilinear filtering should be used to "smooth" the
+ image. */
+ bool use_bilinear_filtering;
#endif
/* Colors allocated for this image, if any. Allocated via xmalloc. */
@@ -3396,6 +3410,8 @@ int partial_line_height (struct it *it_origin);
bool in_display_vector_p (struct it *);
int frame_mode_line_height (struct frame *);
extern bool redisplaying_p;
+extern bool display_working_on_window_p;
+extern void unwind_display_working_on_window (void);
extern bool help_echo_showing_p;
extern Lisp_Object help_echo_string, help_echo_window;
extern Lisp_Object help_echo_object, previous_help_echo_string;
@@ -3452,11 +3468,14 @@ extern Lisp_Object handle_tab_bar_click (struct frame *,
int, int, bool, int);
extern void handle_tool_bar_click (struct frame *,
int, int, bool, int);
+extern void handle_tool_bar_click_with_device (struct frame *, int, int, bool,
+ int, Lisp_Object);
extern void expose_frame (struct frame *, int, int, int, int);
extern bool gui_intersect_rectangles (const Emacs_Rectangle *,
const Emacs_Rectangle *,
Emacs_Rectangle *);
+extern void gui_consider_frame_title (Lisp_Object);
#endif /* HAVE_WINDOW_SYSTEM */
extern void note_mouse_highlight (struct frame *, int, int);
@@ -3480,6 +3499,9 @@ bool update_window_fringes (struct window *, bool);
void gui_init_fringe (struct redisplay_interface *);
+extern int max_used_fringe_bitmap;
+void gui_define_fringe_bitmap (struct frame *, int);
+
#ifdef HAVE_NTGUI
void w32_reset_fringes (void);
#endif
@@ -3488,6 +3510,8 @@ extern unsigned row_hash (struct glyph_row *);
extern bool buffer_flipping_blocked_p (void);
+extern void update_redisplay_ticks (int, struct window *);
+
/* Defined in image.c */
#ifdef HAVE_WINDOW_SYSTEM
@@ -3599,6 +3623,9 @@ void gamma_correct (struct frame *, XColor *);
#ifdef HAVE_NTGUI
void gamma_correct (struct frame *, COLORREF *);
#endif
+#ifdef HAVE_HAIKU
+void gamma_correct (struct frame *, Emacs_Color *);
+#endif
#ifdef HAVE_WINDOW_SYSTEM