diff src/macgui.h @ 59718:d4cb255b034d

* 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.
author Steven Tamm <steventamm@mac.com>
date Mon, 24 Jan 2005 17:59:36 +0000
parents 9bde7721ad0f
children f69bf8238a7e befae6bafecb
line wrap: on
line diff
--- a/src/macgui.h	Mon Jan 24 13:22:29 2005 +0000
+++ b/src/macgui.h	Mon Jan 24 17:59:36 2005 +0000
@@ -92,6 +92,13 @@
   int descent;
 } XCharStruct;
 
+#define STORE_XCHARSTRUCT(xcs, w, bds)			\
+  ((xcs).width = (w),					\
+   (xcs).lbearing = (bds).left,				\
+   (xcs).rbearing = (bds).right,			\
+   (xcs).ascent = -(bds).top,				\
+   (xcs).descent = (bds).bottom)
+
 struct MacFontStruct {
   char *fontname;