1
4
5# ifndef LNODELIB_H
6# define LNODELIB_H
7
8extern void lmt_push_node (lua_State *L);
9extern void lmt_push_node_fast (lua_State *L, halfword n);
10extern void lmt_push_directornode (lua_State *L, halfword n, int isdirect);
11extern void lmt_node_list_to_lua (lua_State *L, halfword n);
12extern halfword lmt_node_list_from_lua (lua_State *L, int n);
13extern int lmt_get_math_style (lua_State *L, int n, int dflt);
14extern int lmt_get_math_parameter (lua_State *L, int n, int dflt);
15extern halfword lmt_check_isnode (lua_State *L, int i);
16extern halfword lmt_check_isdirect (lua_State *L, int i);
17extern halfword lmt_check_isdirectornode (lua_State *L, int i, int *isdirect);
18extern void lmt_initialize_properties (int set_size);
19
20extern halfword lmt_hpack_filter_callback(
21 halfword head,
22 scaled size,
23 int packtype,
24 int extrainfo,
25 int direction,
26 halfword a
27);
28
29extern halfword lmt_vpack_filter_callback(
30 halfword head,
31 scaled size,
32 int packtype,
33 scaled depth,
34 int extrainfo,
35 int direction,
36 halfword a
37);
38
39extern halfword lmt_packed_vbox_filter_callback(
40 halfword box,
41 int extrainfo
42);
43
44extern void lmt_node_filter_callback(
45 int filterid,
46 int extrainfo,
47 halfword head,
48 halfword *tail
49);
50
51extern int lmt_linebreak_callback(
52 int isbroken,
53 halfword head,
54 halfword *newhead
55);
56
57extern void lmt_alignment_callback(
58 halfword head,
59 halfword context,
60 halfword callback,
61 halfword attrlist,
62 halfword preamble
63);
64
65extern void lmt_local_box_callback(
66 halfword linebox,
67 halfword leftbox,
68 halfword rightbox,
69 halfword middlebox,
70 halfword linenumber,
71 scaled leftskip,
72 scaled rightskip,
73 scaled lefthang,
74 scaled righthang,
75 scaled indentation,
76 scaled parinitleftskip,
77 scaled parinitrightskip,
78 scaled parfillleftskip,
79 scaled parfillrightskip,
80 scaled overshoot
81);
82
83extern int lmt_append_to_vlist_callback(
84 halfword box,
85 int location,
86 halfword prevdepth,
87 halfword *result,
88 int *nextdepth,
89 int *prevset,
90 int *checkdepth
91);
92
93extern void lmt_begin_paragraph_callback(
94 int invmode,
95 int *indented,
96 int context
97);
98
99extern void lmt_paragraph_context_callback(
100 int context,
101 int *ignore
102);
103
104
105extern void lmt_page_filter_callback(
106 int context,
107 halfword boundary
108);
109
110extern void lmt_append_line_filter_callback(
111 halfword context,
112 halfword index
113);
114
115extern int lmt_par_pass_callback(
116 halfword head,
117 line_break_properties *properties,
118 halfword identifier,
119 halfword callback,
120 halfword features,
121 scaled overfull,
122 scaled underfull,
123 halfword verdict,
124 halfword classified,
125 scaled threshold,
126 halfword badness,
127 halfword classes,
128 int *repeat
129);
130
131extern halfword lmt_uleader_callback(
132 halfword head,
133 halfword index,
134 int context
135);
136
137extern scaled lmt_italic_correction_callback(
138 halfword glyph,
139 scaled kern,
140 halfword subtype
141);
142
143# endif
144 |