st-vertcenter-20180320-6ac8c8a.diff - sites - public wiki contents of suckless.… | |
git clone git://git.suckless.org/sites | |
Log | |
Files | |
Refs | |
--- | |
st-vertcenter-20180320-6ac8c8a.diff (1584B) | |
--- | |
1 --- a/x.c Tue Mar 20 00:28:57 2018 | |
2 +++ b/x.c Tue Mar 20 00:29:02 2018 | |
3 @@ -80,6 +80,7 @@ | |
4 int w, h; /* window width and height */ | |
5 int ch; /* char height */ | |
6 int cw; /* char width */ | |
7 + int cyo; /* char y offset */ | |
8 int mode; /* window state/mode flags */ | |
9 int cursor; /* cursor style */ | |
10 } TermWindow; | |
11 @@ -949,6 +950,7 @@ | |
12 /* Setting character width and height. */ | |
13 win.cw = ceilf(dc.font.width * cwscale); | |
14 win.ch = ceilf(dc.font.height * chscale); | |
15 + win.cyo = ceilf(dc.font.height * (chscale - 1) / 2); | |
16 | |
17 FcPatternDel(pattern, FC_SLANT); | |
18 FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); | |
19 @@ -1130,7 +1132,7 @@ | |
20 FcCharSet *fccharset; | |
21 int i, f, numspecs = 0; | |
22 | |
23 - for (i = 0, xp = winx, yp = winy + font->ascent; i < len; ++i) { | |
24 + for (i = 0, xp = winx, yp = winy + font->ascent + win.cyo; i < … | |
25 /* Fetch rune and mode for current glyph. */ | |
26 rune = glyphs[i].u; | |
27 mode = glyphs[i].mode; | |
28 @@ -1155,7 +1157,7 @@ | |
29 font = &dc.bfont; | |
30 frcflags = FRC_BOLD; | |
31 } | |
32 - yp = winy + font->ascent; | |
33 + yp = winy + font->ascent + win.cyo; | |
34 } | |
35 | |
36 /* Lookup character index with default font. */ | |
37 @@ -1371,12 +1373,12 @@ | |
38 | |
39 /* Render underline and strikethrough. */ | |
40 if (base.mode & ATTR_UNDERLINE) { | |
41 - XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent + … | |
42 + XftDrawRect(xw.draw, fg, winx, winy + win.cyo + dc.font… | |
43 width, 1); | |
44 } | |
45 | |
46 if (base.mode & ATTR_STRUCK) { | |
47 - XftDrawRect(xw.draw, fg, winx, winy + 2 * dc.font.ascen… | |
48 + XftDrawRect(xw.draw, fg, winx, winy + win.cyo + 2 * dc.… | |
49 width, 1); | |
50 } | |
51 |