Commit f032a318 authored by YAMAMOTO Mitsuharu's avatar YAMAMOTO Mitsuharu

Make underwave look more triangular and also degrade gracefully for small fonts. (Bug#13000)

parent 4217dc29
2013-01-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* nsterm.m (ns_draw_underwave):
* w32term.c (w32_draw_underwave):
* xterm.c (x_draw_underwave): Make underwave look more triangular
and also degrade gracefully for small fonts. (Bug#13000)
2012-12-31 Glenn Morris <rgm@gnu.org>
* keymap.c (Fkey_description): Doc fix. (Bug#13323)
......
......@@ -2554,7 +2554,7 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
Draw a wavy line under glyph string s. The wave fills wave_height
pixels from y.
x wave_length = 3
x wave_length = 2
--
y * * * * *
|* * * * * * * * *
......@@ -2564,14 +2564,14 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
static void
ns_draw_underwave (struct glyph_string *s, CGFloat width, CGFloat x)
{
int wave_height = 3, wave_length = 3;
int wave_height = 3, wave_length = 2;
int y, dx, dy, odd, xmax;
NSPoint a, b;
NSRect waveClip;
dx = wave_length;
dy = wave_height - 1;
y = s->ybase + 1;
y = s->ybase - wave_height + 3;
xmax = x + width;
/* Find and set clipping rectangle */
......@@ -2580,10 +2580,10 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
NSRectClip (waveClip);
/* Draw the waves */
a.x = x - ((int)(x) % dx);
a.x = x - ((int)(x) % dx) + 0.5;
b.x = a.x + dx;
odd = (int)(a.x/dx) % 2;
a.y = b.y = y;
a.y = b.y = y + 0.5;
if (odd)
a.y += dy;
......@@ -2594,7 +2594,7 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
{
[NSBezierPath strokeLineFromPoint:a toPoint:b];
a.x = b.x, a.y = b.y;
b.x += dx, b.y = y + odd*dy;
b.x += dx, b.y = y + 0.5 + odd*dy;
odd = !odd;
}
......
......@@ -356,7 +356,7 @@ w32_restore_glyph_string_clip (struct glyph_string *s)
void
w32_draw_underwave (struct glyph_string *s, COLORREF color)
{
int wave_height = 2, wave_length = 3;
int wave_height = 3, wave_length = 2;
int dx, dy, x0, y0, width, x1, y1, x2, y2, odd, xmax;
XRectangle wave_clip, string_clip, final_clip;
RECT w32_final_clip, w32_string_clip;
......@@ -365,7 +365,7 @@ w32_draw_underwave (struct glyph_string *s, COLORREF color)
dx = wave_length;
dy = wave_height - 1;
x0 = s->x;
y0 = s->ybase + 1;
y0 = s->ybase - wave_height + 3;
width = s->width;
xmax = x0 + width;
......
......@@ -2656,14 +2656,14 @@ x_draw_stretch_glyph_string (struct glyph_string *s)
static void
x_draw_underwave (struct glyph_string *s)
{
int wave_height = 2, wave_length = 3;
int wave_height = 3, wave_length = 2;
int dx, dy, x0, y0, width, x1, y1, x2, y2, odd, xmax;
XRectangle wave_clip, string_clip, final_clip;
dx = wave_length;
dy = wave_height - 1;
x0 = s->x;
y0 = s->ybase + 1;
y0 = s->ybase - wave_height + 3;
width = s->width;
xmax = x0 + width;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment