texlocalboxes.h /size: 2139 b    last modification: 2025-02-21 11:03
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);
16extern void       tex_reset_local_box             (halfword location); 
17
18extern void       tex_add_local_boxes             (halfword p);
19extern void       tex_scan_local_boxes_keys       (quarterword *options, halfword *index);
20extern halfword   tex_valid_box_index             (halfword n);
21
22/*tex Helpers, just in case we decide to be more sparse. */
23
24extern scaled     tex_get_local_left_width        (halfword p);
25extern scaled     tex_get_local_right_width       (halfword p);
26
27extern void       tex_set_local_left_width        (halfword p, scaled width);
28extern void       tex_set_local_right_width       (halfword p, scaled width);
29
30extern halfword   tex_get_local_interline_penalty (halfword p);
31extern halfword   tex_get_local_broken_penalty    (halfword p);
32extern halfword   tex_get_local_tolerance         (halfword p);
33extern halfword   tex_get_local_pre_tolerance     (halfword p);
34
35extern void       tex_set_local_interline_penalty (halfword p, halfword penalty);
36extern void       tex_set_local_broken_penalty    (halfword p, halfword penalty);
37extern void       tex_set_local_tolerance         (halfword p, halfword penalty);
38extern void       tex_set_local_pre_tolerance     (halfword p, halfword penalty);
39
40extern void       tex_aux_scan_local_box          (int code);
41extern void       tex_aux_finish_local_box        (void);
42
43extern int        tex_show_localbox_record        (void);
44
45# endif