X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/f49d1f52b2e368ef67dcfececd426de958548f4e..ddf0e868c2461257cb922f415dea8d713400c1f8:/src/ftxfont.c diff --git a/src/ftxfont.c b/src/ftxfont.c index 0a9137617b..9fe4d41dcc 100644 --- a/src/ftxfont.c +++ b/src/ftxfont.c @@ -1,6 +1,6 @@ /* ftxfont.c -- FreeType font driver on X (without using XFT). - Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - Copyright (C) 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2006-2012 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 National Institute of Advanced Industrial Science and Technology (AIST) Registration Number H13PRO009 @@ -38,19 +38,24 @@ along with GNU Emacs. If not, see . */ static Lisp_Object Qftx; +#if defined HAVE_XFT || !defined HAVE_FREETYPE +static +#endif +struct font_driver ftxfont_driver; + /* Prototypes for helper function. */ static GC *ftxfont_get_gcs (FRAME_PTR, unsigned long, unsigned long); static int ftxfont_draw_bitmap (FRAME_PTR, GC, GC *, struct font *, unsigned, int, int, XPoint *, int, int *, int); -static void ftxfont_draw_backgrond (FRAME_PTR, struct font *, GC, - int, int, int); +static void ftxfont_draw_background (FRAME_PTR, struct font *, GC, + int, int, int); struct ftxfont_frame_data { /* Background and foreground colors. */ XColor colors[2]; - /* GCs interporationg the above colors. gcs[0] is for a color + /* GCs interpolating the above colors. gcs[0] is for a color closest to BACKGROUND, and gcs[5] is for a color closest to FOREGROUND. */ GC gcs[6]; @@ -214,7 +219,8 @@ ftxfont_draw_bitmap (FRAME_PTR f, GC gc_fore, GC *gcs, struct font *font, unsign } static void -ftxfont_draw_backgrond (FRAME_PTR f, struct font *font, GC gc, int x, int y, int width) +ftxfont_draw_background (FRAME_PTR f, struct font *font, GC gc, int x, int y, + int width) { XGCValues xgcv; @@ -233,13 +239,11 @@ static Lisp_Object ftxfont_open (FRAME_PTR, Lisp_Object, int); static void ftxfont_close (FRAME_PTR, struct font *); static int ftxfont_draw (struct glyph_string *, int, int, int, int, int); -struct font_driver ftxfont_driver; - static Lisp_Object ftxfont_list (Lisp_Object frame, Lisp_Object spec) { Lisp_Object list = ftfont_driver.list (frame, spec), tail; - + for (tail = list; CONSP (tail); tail = XCDR (tail)) ASET (XCAR (tail), FONT_TYPE_INDEX, Qftx); return list; @@ -293,7 +297,7 @@ ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y, int with_b BLOCK_INPUT; if (with_background) - ftxfont_draw_backgrond (f, font, s->gc, x, y, s->width); + ftxfont_draw_background (f, font, s->gc, x, y, s->width); code = alloca (sizeof (unsigned) * len); for (i = 0; i < len; i++) code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8) @@ -350,13 +354,13 @@ static int ftxfont_end_for_frame (FRAME_PTR f) { struct ftxfont_frame_data *data = font_get_frame_data (f, &ftxfont_driver); - + BLOCK_INPUT; while (data) { struct ftxfont_frame_data *next = data->next; int i; - + for (i = 0; i < 6; i++) XFreeGC (FRAME_X_DISPLAY (f), data->gcs[i]); free (data); @@ -384,6 +388,3 @@ syms_of_ftxfont (void) ftxfont_driver.end_for_frame = ftxfont_end_for_frame; register_font_driver (&ftxfont_driver, NULL); } - -/* arch-tag: 59bd3469-5330-413f-b29d-1aa36492abe8 - (do not change this comment) */