Skip to content

Commit

Permalink
Removing the overdrawing of some fonts.
Browse files Browse the repository at this point in the history
  • Loading branch information
Christoph Lohmann committed Apr 23, 2013
1 parent 7ea6863 commit db6f796
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions st.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ char *argv0;
#define Draw XftDraw *
#define Colour XftColor
#define Colourmap Colormap
#define Rectangle XRectangle

#if defined(__linux)
#include <pty.h>
Expand Down Expand Up @@ -2764,6 +2765,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
FcCharSet *fccharset;
Colour *fg, *bg, *temp, revfg, revbg;
XRenderColor colfg, colbg;
Rectangle r;

frcflags = FRC_NORMAL;

Expand Down Expand Up @@ -2851,6 +2853,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {

/* Clean up the region we want to draw to. */
XftDrawRect(xw.draw, bg, winx, winy, width, xw.ch);
r.x = 0;
r.y = 0;
r.height = xw.ch;
r.width = width;
XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1);

fcsets[0] = font->set;
for(xp = winx; bytelen > 0;) {
Expand Down Expand Up @@ -2885,6 +2892,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
(FcChar8 *)u8fs,
u8fblen);
xp += font->width * u8fl;

}
break;
}
Expand Down Expand Up @@ -2969,6 +2977,9 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
width, 1);
}

/* Reset clip to none. */
XftDrawSetClip(xw.draw, 0);
}

void
Expand Down

0 comments on commit db6f796

Please sign in to comment.