replace hand rolled font_make() with XftFontOpenName() and merge into
font_init().
This commit is contained in:
parent
4769f6e518
commit
096354b57d
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: calmwm.h,v 1.159 2012/11/08 20:18:19 okan Exp $
|
* $OpenBSD: calmwm.h,v 1.160 2012/11/28 14:14:44 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CALMWM_H_
|
#ifndef _CALMWM_H_
|
||||||
@ -446,9 +446,9 @@ int font_descent(struct screen_ctx *);
|
|||||||
void font_draw(struct screen_ctx *, const char *, int,
|
void font_draw(struct screen_ctx *, const char *, int,
|
||||||
Drawable, int, int);
|
Drawable, int, int);
|
||||||
u_int font_height(struct screen_ctx *);
|
u_int font_height(struct screen_ctx *);
|
||||||
void font_init(struct screen_ctx *, const char *);
|
void font_init(struct screen_ctx *, const char *,
|
||||||
|
const char *);
|
||||||
int font_width(struct screen_ctx *, const char *, int);
|
int font_width(struct screen_ctx *, const char *, int);
|
||||||
XftFont *font_make(struct screen_ctx *, const char *);
|
|
||||||
|
|
||||||
void xev_loop(void);
|
void xev_loop(void);
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: conf.c,v 1.109 2012/11/14 21:31:53 okan Exp $
|
* $OpenBSD: conf.c,v 1.110 2012/11/28 14:14:44 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -62,8 +62,7 @@ conf_gap(struct conf *c, struct screen_ctx *sc)
|
|||||||
void
|
void
|
||||||
conf_font(struct conf *c, struct screen_ctx *sc)
|
conf_font(struct conf *c, struct screen_ctx *sc)
|
||||||
{
|
{
|
||||||
font_init(sc, c->color[CWM_COLOR_FONT].name);
|
font_init(sc, c->font, c->color[CWM_COLOR_FONT].name);
|
||||||
sc->font = font_make(sc, c->font);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct color color_binds[] = {
|
static struct color color_binds[] = {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: font.c,v 1.19 2012/11/09 03:52:02 okan Exp $
|
* $OpenBSD: font.c,v 1.20 2012/11/28 14:14:44 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -49,7 +49,7 @@ font_height(struct screen_ctx *sc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
font_init(struct screen_ctx *sc, const char *color)
|
font_init(struct screen_ctx *sc, const char *name, const char *color)
|
||||||
{
|
{
|
||||||
sc->xftdraw = XftDrawCreate(X_Dpy, sc->rootwin,
|
sc->xftdraw = XftDrawCreate(X_Dpy, sc->rootwin,
|
||||||
DefaultVisual(X_Dpy, sc->which), DefaultColormap(X_Dpy, sc->which));
|
DefaultVisual(X_Dpy, sc->which), DefaultColormap(X_Dpy, sc->which));
|
||||||
@ -59,6 +59,10 @@ font_init(struct screen_ctx *sc, const char *color)
|
|||||||
if (!XftColorAllocName(X_Dpy, DefaultVisual(X_Dpy, sc->which),
|
if (!XftColorAllocName(X_Dpy, DefaultVisual(X_Dpy, sc->which),
|
||||||
DefaultColormap(X_Dpy, sc->which), color, &sc->xftcolor))
|
DefaultColormap(X_Dpy, sc->which), color, &sc->xftcolor))
|
||||||
errx(1, "XftColorAllocName");
|
errx(1, "XftColorAllocName");
|
||||||
|
|
||||||
|
sc->font = XftFontOpenName(X_Dpy, sc->which, name);
|
||||||
|
if (sc->font == NULL)
|
||||||
|
errx(1, "XftFontOpenName");
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -80,21 +84,3 @@ font_draw(struct screen_ctx *sc, const char *text, int len,
|
|||||||
XftDrawStringUtf8(sc->xftdraw, &sc->xftcolor, sc->font, x, y,
|
XftDrawStringUtf8(sc->xftdraw, &sc->xftcolor, sc->font, x, y,
|
||||||
(const FcChar8*)text, len);
|
(const FcChar8*)text, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
XftFont *
|
|
||||||
font_make(struct screen_ctx *sc, const char *name)
|
|
||||||
{
|
|
||||||
XftFont *fn = NULL;
|
|
||||||
FcPattern *pat, *patx;
|
|
||||||
XftResult res;
|
|
||||||
|
|
||||||
if ((pat = FcNameParse((const FcChar8*)name)) == NULL)
|
|
||||||
return (NULL);
|
|
||||||
|
|
||||||
if ((patx = XftFontMatch(X_Dpy, sc->which, pat, &res)) != NULL)
|
|
||||||
fn = XftFontOpenPattern(X_Dpy, patx);
|
|
||||||
|
|
||||||
FcPatternDestroy(pat);
|
|
||||||
|
|
||||||
return (fn);
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user