]> Dogcows Code - chaz/openbox/blobdiff - render/font.c
typo
[chaz/openbox] / render / font.c
index a099c0930812a01bffb2b0be794a817a6f2e43cc..ce74cad1569af1a2679595bf377b592cb49e12ae 100644 (file)
@@ -1,3 +1,22 @@
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
+
+   font.c for the Openbox window manager
+   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2003        Derek Foreman
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   See the COPYING file for a copy of the GNU General Public License.
+*/
+
 #include "font.h"
 #include "color.h"
 #include "mask.h"
@@ -28,7 +47,7 @@ static gboolean started = FALSE;
 static void font_startup(void)
 {
     if (!XftInit(0)) {
-        g_warning(_("Couldn't initialize Xft.\n"));
+        g_warning(_("Couldn't initialize Xft."));
         exit(EXIT_FAILURE);
     }
     FcNameRegisterObjectTypes(objs, (sizeof(objs) / sizeof(objs[0])));
@@ -44,7 +63,7 @@ static void measure_font(RrFont *f)
     f->elipses_length = (signed) info.xOff;
 }
 
-static RrFont *openfont(const RrInstance *inst, char *fontstring)
+static RrFont *openfont(const RrInstance *inst, gchar *fontstring)
 {
     RrFont *out;
     FcPattern *pat, *match;
@@ -56,6 +75,7 @@ static RrFont *openfont(const RrInstance *inst, char *fontstring)
         return NULL;
 
     match = XftFontMatch(RrDisplay(inst), RrScreen(inst), pat, &res);
+    FcPatternDestroy(pat);
     if (!match)
         return NULL;
 
@@ -88,7 +108,7 @@ static RrFont *openfont(const RrInstance *inst, char *fontstring)
     return out;
 }
 
-RrFont *RrFontOpen(const RrInstance *inst, char *fontstring)
+RrFont *RrFontOpen(const RrInstance *inst, gchar *fontstring)
 {
     RrFont *out;
 
@@ -129,20 +149,20 @@ static void font_measure_full(const RrFont *f, const gchar *str,
     *y = info.height + (f->shadow ? ABS(f->offset) : 0);
 }
 
-int RrFontMeasureString(const RrFont *f, const gchar *str)
+gint RrFontMeasureString(const RrFont *f, const gchar *str)
 {
     gint x, y;
     font_measure_full (f, str, &x, &y);
     return x + 4;
 }
 
-int RrFontHeight(const RrFont *f)
+gint RrFontHeight(const RrFont *f)
 {
     return f->xftfont->ascent + f->xftfont->descent +
         (f->shadow ? f->offset : 0);
 }
 
-int RrFontMaxCharWidth(const RrFont *f)
+gint RrFontMaxCharWidth(const RrFont *f)
 {
     return (signed) f->xftfont->max_advance_width;
 }
@@ -152,7 +172,7 @@ void RrFontDraw(XftDraw *d, RrTextureText *t, RrRect *area)
     gint x,y,w,h;
     XftColor c;
     GString *text;
-    gint mw, em, mh;
+    gint mw, mh;
     size_t l;
     gboolean shortened = FALSE;
 
@@ -171,12 +191,11 @@ void RrFontDraw(XftDraw *d, RrTextureText *t, RrRect *area)
         shortened = TRUE;
         /* remove a character from the middle */
         text = g_string_erase(text, l-- / 2, 1);
-        em = ELIPSES_LENGTH(t->font);
         /* if the elipses are too large, don't show them at all */
-        if (em > area->width)
+        if (ELIPSES_LENGTH(t->font) > area->width)
             shortened = FALSE;
         font_measure_full(t->font, text->str, &mw, &mh);
-        mw += em;
+        mw += ELIPSES_LENGTH(t->font);
     }
     if (shortened) {
         text = g_string_insert(text, (l + 1) / 2, ELIPSES);
This page took 0.027222 seconds and 4 git commands to generate.