summaryrefslogtreecommitdiff
path: root/src/xfont.c
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2014-08-25 11:00:42 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2014-08-25 11:00:42 +0400
commit8661ebaa6c0ef3f9517c5288855657b274c723d6 (patch)
tree98c72571f410d28d3228cb30ea68dadf49f36860 /src/xfont.c
parent90c5c87753fb69dafd664615558fa3fdce3ba5b1 (diff)
downloademacs-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.c50
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