Back to index

texmacs  1.0.7.15
typesetter.hpp
Go to the documentation of this file.
00001 
00002 /******************************************************************************
00003 * MODULE     : typesetter.hpp
00004 * DESCRIPTION: The result of typesetting a paragraph is
00005 *              an instance of the paragraph class
00006 * COPYRIGHT  : (C) 1999  Joris van der Hoeven
00007 *******************************************************************************
00008 * This software falls under the GNU general public license version 3 or later.
00009 * It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
00010 * in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
00011 ******************************************************************************/
00012 
00013 #ifndef TYPESETTER_H
00014 #define TYPESETTER_H
00015 #include "boxes.hpp"
00016 #include "env.hpp"
00017 #include "array.hpp"
00018 
00019 class typesetter_rep;
00020 typedef typesetter_rep* typesetter;
00021 
00022 typesetter new_typesetter (edit_env& env, tree et, path ip);
00023 void       delete_typesetter (typesetter ttt);
00024 
00025 void notify_assign      (typesetter ttt, path p, tree u);
00026 void notify_insert      (typesetter ttt, path p, tree u);
00027 void notify_remove      (typesetter ttt, path p, int nr);
00028 void notify_split       (typesetter ttt, path p);
00029 void notify_join        (typesetter ttt, path p);
00030 void notify_assign_node (typesetter ttt, path p, tree_label op);
00031 void notify_insert_node (typesetter ttt, path p, tree t);
00032 void notify_remove_node (typesetter ttt, path p);
00033 void exec_until         (typesetter ttt, path p);
00034 box  typeset            (typesetter ttt, SI& x1, SI& y1, SI& x2, SI& y2);
00035 
00036 box        typeset_as_concat (edit_env env, tree t, path ip);
00037 box        typeset_as_box (edit_env env, tree t, path ip);
00038 box        typeset_as_atomic (edit_env env, tree t, path ip);
00039 box        typeset_as_stack (edit_env env, tree t, path ip);
00040 box        typeset_as_table (edit_env env, tree t, path ip);
00041 array<box> typeset_as_var_table (edit_env env, tree t, path ip);
00042 box        typeset_as_paragraph (edit_env e, tree t, path ip);
00043 box        typeset_as_document (edit_env e, tree t, path ip);
00044 tree       box_info (edit_env env, tree t, string what);
00045 
00046 #endif // defined TYPESETTER_H