aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2006-07-26 01:16:27 +0000
committerKenichi Handa2006-07-26 01:16:27 +0000
commit1a3565711488591bac0e6fd1b5626d20e14effa6 (patch)
tree56441abfccc7382457ca1d9e7097ab7975a5a215 /src
parent297cc20aff62790288b3d6c804c1ce668a26e6d2 (diff)
downloademacs-1a3565711488591bac0e6fd1b5626d20e14effa6.tar.gz
emacs-1a3565711488591bac0e6fd1b5626d20e14effa6.zip
(Qfont_backend): New variable.
(frame_parms): New element for font-backend. (x_set_font_backend): New function.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/frame.c b/src/frame.c
index 1f8c173b9db..6d1df70955f 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -112,6 +112,9 @@ Lisp_Object Qbuffer_predicate, Qbuffer_list;
112Lisp_Object Qtty_color_mode; 112Lisp_Object Qtty_color_mode;
113 113
114Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth; 114Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth;
115#ifdef USE_FONT_BACKEND
116Lisp_Object Qfont_backend;
117#endif /* USE_FONT_BACKEND */
115 118
116Lisp_Object Qface_set_after_frame_default; 119Lisp_Object Qface_set_after_frame_default;
117 120
@@ -2587,6 +2590,9 @@ static struct frame_parm_table frame_parms[] =
2587 {"right-fringe", &Qright_fringe}, 2590 {"right-fringe", &Qright_fringe},
2588 {"wait-for-wm", &Qwait_for_wm}, 2591 {"wait-for-wm", &Qwait_for_wm},
2589 {"fullscreen", &Qfullscreen}, 2592 {"fullscreen", &Qfullscreen},
2593#ifdef USE_FONT_BACKEND
2594 {"font-backend", &Qfont_backend}
2595#endif /* USE_FONT_BACKEND */
2590}; 2596};
2591 2597
2592#ifdef HAVE_WINDOW_SYSTEM 2598#ifdef HAVE_WINDOW_SYSTEM
@@ -3167,6 +3173,39 @@ x_set_font (f, arg, oldval)
3167} 3173}
3168 3174
3169 3175
3176#ifdef USE_FONT_BACKEND
3177void
3178x_set_font_backend (f, new_value, old_value)
3179 struct frame *f;
3180 Lisp_Object new_value, old_value;
3181{
3182 Lisp_Object frame;
3183
3184 if (! NILP (new_value)
3185 && !CONSP (new_value))
3186 {
3187 char *p0, *p1;
3188
3189 CHECK_STRING (new_value);
3190 p0 = p1 = SDATA (new_value);
3191 new_value = Qnil;
3192 while (*p0)
3193 {
3194 while (*p1 && *p1 != ',') p1++;
3195 if (p0 < p1)
3196 new_value = Fcons (Fintern (make_string (p0, p1 - p0), Qnil),
3197 new_value);
3198 if (*p1)
3199 p1++;
3200 p0 = p1;
3201 }
3202 }
3203
3204 font_update_drivers (f, new_value, FRAME_FONT_OBJECT (f));
3205}
3206#endif /* USE_FONT_BACKEND */
3207
3208
3170void 3209void
3171x_set_fringe_width (f, new_value, old_value) 3210x_set_fringe_width (f, new_value, old_value)
3172 struct frame *f; 3211 struct frame *f;