aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAlp Aker2012-06-16 20:32:36 -0400
committerAlp Aker2012-06-16 20:32:36 -0400
commit9b0e3ebaef5aed8097965b14c97a0579763be7fd (patch)
treeeeabc5495c58289454d9c53c9dd409377ec72cf3 /doc
parent40d8bcb854203237c6ad8327bc1fc0644f8734ec (diff)
downloademacs-9b0e3ebaef5aed8097965b14c97a0579763be7fd.tar.gz
emacs-9b0e3ebaef5aed8097965b14c97a0579763be7fd.zip
Implement wave-style variant of underlining.
* doc/lispref/display.texi: Document new face attribute. * lisp/cus-face.el (custom-face-attributes): Add wave-style underline attribute. * lisp/faces.el (set-face-attribute): Update docstring. * src/dispextern.h (face_underline_type): New enum. (face): Add field for underline type. * src/nsterm.m (ns_draw_underwave): New function. (ns_draw_text_decoration): Use it. * src/w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave): New functions. (x_draw_glyph_string): Use them. * src/xfaces.c (Qline, Qwave): New Lisp objects. (check_lface_attrs, merge_face_ref) (Finternal_set_lisp_face_attribute, realize_x_face): Handle wave-style underline face attributes. * src/xterm.c (x_draw_underwave): New function. (x_draw_glyph_string): Use it.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/display.texi30
1 files changed, 26 insertions, 4 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 5face4138e0..60e14b6b85b 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -2130,10 +2130,32 @@ Background color, a string. The value can be a system-defined color
2130name, or a hexadecimal color specification. @xref{Color Names}. 2130name, or a hexadecimal color specification. @xref{Color Names}.
2131 2131
2132@item :underline 2132@item :underline
2133Whether or not characters should be underlined, and in what color. If 2133Whether or not characters should be underlined, and in what
2134the value is @code{t}, underlining uses the foreground color of the 2134color. Here are the possible values of the @code{:underline}
2135face. If the value is a string, underlining uses that color. The 2135attribute, and what they mean:
2136value @code{nil} means do not underline. 2136
2137@table @asis
2138@item @code{nil}
2139Don't underline.
2140
2141@item @code{t}
2142Underline with the foreground color of the face.
2143
2144@item @var{color}
2145Underline in color @var{color}.
2146
2147@item @code{(:color @var{color} :style @var{style})}
2148If @var{color} is a string, underline in it.
2149If @var{color} is @code{foreground-color}, underline with the
2150foreground color of the face.
2151
2152If @var{style} is @code{wave} underline with a wave.
2153If @var{style} is @code{line} underline with a line.
2154
2155If the attribute @code{:color} is omited, underline with the
2156foreground color of the face.
2157If the attribute @code{:style} is omited, underline with a line.
2158@end table
2137 2159
2138@item :overline 2160@item :overline
2139Whether or not characters should be overlined, and in what color. 2161Whether or not characters should be overlined, and in what color.