annotate src/mocklisp.h @ 26879:b4de7fa9866e

(x_append_glyph): Setup members of struct glyph properly for composition. (x_append_composite_glyph): New function. (VCENTER_BASELINE_OFFSET): New macro. (x_produce_glyphs): If it->what == IT_COMPOSITION, setup members of struct it for the composition. Cache pixel offsets in the struct composition. Delete codes for a composite character. Handle Vignore_relative_composition in composition code. (struct glyph_string): Delete member cmpcharp, add new member cmp. (x_set_cursor_gc): Check s->cmp, not s->cmpcharp. (x_compute_glyph_string_overhangs): Likewise. (x_get_glyph_overhangs): Delete codes for a composite character. (x_right_overwritten): Check s->cmp, not s->cmpcharp. (x_draw_glyph_string_background): Likewise. Delete codes for checking s->gidx for a composition. (x_draw_glyph_string_foreground): Delete code for a composite character. (x_draw_composite_glyph_string_foreground): New function. (x_draw_glyph_string_box): Check s->cmp, not s->cmpcharp. (x_draw_glyph_string): Handle the case of COMPOSITE_GLYPH. (struct work): Deleted. (x_fill_composite_glyph_string): Argument changed. Mostly rewritten for that. (x_fill_glyph_string): Don't check CHARSET_COMPOSITION. (BUILD_CHAR_GLYPH_STRINGS): Don't handle composition here. (BUILD_COMPOSITE_GLYPH_STRING): New macro. (BUILD_GLYPH_STRINGS): For composition, call BUILD_COMPOSITE_GLYPH_STRING. (x_new_font): Initialize f->output_data.x->baseline_offset, not f->output_data.x->font_baseline.
author Kenichi Handa <handa@m17n.org>
date Wed, 15 Dec 1999 00:27:21 +0000
parents ee40177f6c68
children ec60cd36c995
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Fundamental definitions for emulating mocklisp.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 484
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
19 Boston, MA 02111-1307, USA. */
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 /* This is the main entry point to mocklisp execution.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 When eval sees a mocklisp function being called, it calls here
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 with the unevaluated argument list */
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 extern Lisp_Object ml_apply ();
112
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
26 extern Lisp_Object Fml_if ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
27 extern Lisp_Object Fml_nargs ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
28 extern Lisp_Object Fml_arg ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
29 extern Lisp_Object Fml_interactive ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
30 extern Lisp_Object Fml_provide_prefix_argument ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
31 extern Lisp_Object Fml_prefix_argument_loop ();
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 112
diff changeset
32 extern Lisp_Object Finsert_string ();