lmtnodelib.h /size: 3436 b    last modification: 2024-01-16 10:22
1/*
2    See license.txt in the root of this project.
3*/
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