diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2014-08-25 11:00:42 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2014-08-25 11:00:42 +0400 |
commit | 8661ebaa6c0ef3f9517c5288855657b274c723d6 (patch) | |
tree | 98c72571f410d28d3228cb30ea68dadf49f36860 /src/xfont.c | |
parent | 90c5c87753fb69dafd664615558fa3fdce3ba5b1 (diff) | |
download | emacs-8661ebaa6c0ef3f9517c5288855657b274c723d6.tar.gz emacs-8661ebaa6c0ef3f9517c5288855657b274c723d6.tar.bz2 emacs-8661ebaa6c0ef3f9517c5288855657b274c723d6.zip |
One more minor cleanup of font subsystem.
* font.h (struct font_driver): Convert text_extents to
return void because returned value is never actually used.
* macfont.c (macfont_text_extents):
* w32font.c (w32font_text_extents):
* xftfont.c (xftfont_text_extents): Adjust to return void
and assume that 'metrics' argument is always non-NULL.
* ftfont.c (ftfont_text_extents):
* xfont.c (xfont_text_extents): Likewise. Avoid redundant memset.
Diffstat (limited to 'src/xfont.c')
-rw-r--r-- | src/xfont.c | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/src/xfont.c b/src/xfont.c index 8996783541b..c39c8455aa5 100644 --- a/src/xfont.c +++ b/src/xfont.c @@ -124,8 +124,8 @@ static void xfont_close (struct font *); static void xfont_prepare_face (struct frame *, struct face *); static int xfont_has_char (Lisp_Object, int); static unsigned xfont_encode_char (struct font *, int); -static int xfont_text_extents (struct font *, unsigned *, int, - struct font_metrics *); +static void xfont_text_extents (struct font *, unsigned *, int, + struct font_metrics *); static int xfont_draw (struct glyph_string *, int, int, int, int, bool); static int xfont_check (struct frame *, struct font *); @@ -975,15 +975,14 @@ xfont_encode_char (struct font *font, int c) return (xfont_get_pcm (xfont, &char2b) ? code : FONT_INVALID_CODE); } -static int -xfont_text_extents (struct font *font, unsigned int *code, int nglyphs, struct font_metrics *metrics) +static void +xfont_text_extents (struct font *font, unsigned int *code, + int nglyphs, struct font_metrics *metrics) { XFontStruct *xfont = ((struct xfont_info *) font)->xfont; - int width = 0; - int i, first; + int i, width = 0; + bool first; - if (metrics) - memset (metrics, 0, sizeof (struct font_metrics)); for (i = 0, first = 1; i < nglyphs; i++) { XChar2b char2b; @@ -997,34 +996,27 @@ xfont_text_extents (struct font *font, unsigned int *code, int nglyphs, struct f continue; if (first) { - if (metrics) - { - metrics->lbearing = pcm->lbearing; - metrics->rbearing = pcm->rbearing; - metrics->ascent = pcm->ascent; - metrics->descent = pcm->descent; - } + metrics->lbearing = pcm->lbearing; + metrics->rbearing = pcm->rbearing; + metrics->ascent = pcm->ascent; + metrics->descent = pcm->descent; first = 0; } else { - if (metrics) - { - if (metrics->lbearing > width + pcm->lbearing) - metrics->lbearing = width + pcm->lbearing; - if (metrics->rbearing < width + pcm->rbearing) - metrics->rbearing = width + pcm->rbearing; - if (metrics->ascent < pcm->ascent) - metrics->ascent = pcm->ascent; - if (metrics->descent < pcm->descent) - metrics->descent = pcm->descent; - } + if (metrics->lbearing > width + pcm->lbearing) + metrics->lbearing = width + pcm->lbearing; + if (metrics->rbearing < width + pcm->rbearing) + metrics->rbearing = width + pcm->rbearing; + if (metrics->ascent < pcm->ascent) + metrics->ascent = pcm->ascent; + if (metrics->descent < pcm->descent) + metrics->descent = pcm->descent; } width += pcm->width; } - if (metrics) - metrics->width = width; - return width; + + metrics->width = width; } static int |