1 2 /****************************************************************************** 3 * MODULE : typesetter.hpp 4 * DESCRIPTION: The result of typesetting a paragraph is 5 * an instance of the paragraph class 6 * COPYRIGHT : (C) 1999 Joris van der Hoeven 7 ******************************************************************************* 8 * This software falls under the GNU general public license version 3 or later. 9 * It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE 10 * in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>. 11 ******************************************************************************/ 12 13 #ifndef TYPESETTER_H 14 #define TYPESETTER_H 15 #include "boxes.hpp" 16 #include "env.hpp" 17 #include "array.hpp" 18 19 class typesetter_rep; 20 typedef typesetter_rep* typesetter; 21 22 typesetter new_typesetter (edit_env& env, tree et, path ip); 23 void delete_typesetter (typesetter ttt); 24 25 void notify_assign (typesetter ttt, path p, tree u); 26 void notify_insert (typesetter ttt, path p, tree u); 27 void notify_remove (typesetter ttt, path p, int nr); 28 void notify_split (typesetter ttt, path p); 29 void notify_join (typesetter ttt, path p); 30 void notify_assign_node (typesetter ttt, path p, tree_label op); 31 void notify_insert_node (typesetter ttt, path p, tree t); 32 void notify_remove_node (typesetter ttt, path p); 33 void exec_until (typesetter ttt, path p); 34 box typeset (typesetter ttt, SI& x1, SI& y1, SI& x2, SI& y2); 35 36 box typeset_as_concat (edit_env env, tree t, path ip); 37 box typeset_as_box (edit_env env, tree t, path ip); 38 box typeset_as_atomic (edit_env env, tree t, path ip); 39 box typeset_as_stack (edit_env env, tree t, path ip); 40 box typeset_as_table (edit_env env, tree t, path ip); 41 array<box> typeset_as_var_table (edit_env env, tree t, path ip); 42 box typeset_as_paragraph (edit_env e, tree t, path ip); 43 box typeset_as_document (edit_env e, tree t, path ip); 44 tree box_info (edit_env env, tree t, string what); 45 46 #endif // defined TYPESETTER_H 47