summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorSteven Tamm <steventamm@mac.com>2005-01-24 17:59:36 +0000
committerSteven Tamm <steventamm@mac.com>2005-01-24 17:59:36 +0000
commit8c2da0fa6ca49777fdcc7266cbdfe7d0e0a024d0 (patch)
tree0715df56367a8e18a31363b64f441d3166c8478e /src/dispextern.h
parente856c2162b0b024acf8dd316c5e47b3f938a0fb1 (diff)
downloademacs-8c2da0fa6ca49777fdcc7266cbdfe7d0e0a024d0.tar.gz
* dispextern.h (struct glyph_string): New members clip_head and
clip_tail. * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip region to the area between clip_head and clip_tail. (draw_glyphs): Record the area that need to be actually redrawn to the new variables clip_head and clip_tail when there are overhangs. Set values of these variables to the corresponding members in struct glyph_string. Refine x coordinates for * macgui.h (STORE_XCHARSETSTRUCT): New macro. * macterm.c (mac_compute_glyph_string_overhangs): Implement with QDTextBounds. (x_draw_glyph_string): Don't fill the background of the successor of a glyph with a right overhang if the successor will draw a cursor. (XLoadQueryFont): Obtain font metrics using QDTextBounds. (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 53ae50f3c2a..89a8fe39aeb 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1193,6 +1193,11 @@ struct glyph_string
/* Slice */
struct glyph_slice slice;
+ /* Non-null means the horizontal clipping region starts from the
+ left edge of *clip_head, and ends with the right edge of
+ *clip_tail, not including their overhangs. */
+ struct glyph_string *clip_head, *clip_tail;
+
struct glyph_string *next, *prev;
};