texlocalboxes.h /size: 2067 b    last modification: 2024-01-16 10:22
1/*
2    See license.txt in the root of this project.
3*/
4
5# ifndef LMT_LOCALBOXES_H
6# define LMT_LOCALBOXES_H
7
8/*tex Todo: determine when to update (grouping, copying) or when to replace. */
9
10extern halfword   tex_get_local_boxes             (halfword location);
11extern void       tex_set_local_boxes             (halfword b, halfword location);
12extern halfword   tex_use_local_boxes             (halfword p, halfword location);
13extern void       tex_update_local_boxes          (halfword b, halfword index, halfword location);
14extern void       tex_replace_local_boxes         (halfword par, halfword b, halfword index, halfword location);
15extern void       tex_reset_local_boxes           (halfword index, halfword location);
16
17extern void       tex_add_local_boxes             (halfword p);
18extern void       tex_scan_local_boxes_keys       (quarterword *options, halfword *index);
19extern halfword   tex_valid_box_index             (halfword n);
20
21/*tex Helpers, just in case we decide to be more sparse. */
22
23extern scaled     tex_get_local_left_width        (halfword p);
24extern scaled     tex_get_local_right_width       (halfword p);
25
26extern void       tex_set_local_left_width        (halfword p, scaled width);
27extern void       tex_set_local_right_width       (halfword p, scaled width);
28
29extern halfword   tex_get_local_interline_penalty (halfword p);
30extern halfword   tex_get_local_broken_penalty    (halfword p);
31extern halfword   tex_get_local_tolerance         (halfword p);
32extern halfword   tex_get_local_pre_tolerance     (halfword p);
33
34extern void       tex_set_local_interline_penalty (halfword p, halfword penalty);
35extern void       tex_set_local_broken_penalty    (halfword p, halfword penalty);
36extern void       tex_set_local_tolerance         (halfword p, halfword penalty);
37extern void       tex_set_local_pre_tolerance     (halfword p, halfword penalty);
38
39extern void       tex_aux_scan_local_box          (int code);
40extern void       tex_aux_finish_local_box        (void);
41
42extern int        tex_show_localbox_record        (void);
43
44# endif