Back to index

texmacs  1.0.7.15
lazy_vstream.hpp
Go to the documentation of this file.
00001 
00002 /******************************************************************************
00003 * MODULE     : lazy_vstream.hpp
00004 * DESCRIPTION: Make lines of a vstream from a typesetted concatenation
00005 * COPYRIGHT  : (C) 1999  Joris van der Hoeven
00006 *******************************************************************************
00007 * This software falls under the GNU general public license version 3 or later.
00008 * It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
00009 * in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
00010 ******************************************************************************/
00011 
00012 #ifndef LAZY_VSTREAM_H
00013 #define LAZY_VSTREAM_H
00014 #include "formatter.hpp"
00015 #include "Format/page_item.hpp"
00016 #include "Format/stack_border.hpp"
00017 
00018 struct lazy_vstream_rep: public lazy_rep {
00019   tree             channel;  // "" or tuple with type&params of floating object
00020   array<page_item> l;        // the page items in the stream
00021   stack_border     sb;       // border properties
00022 
00023 public:
00024   lazy_vstream_rep (path ip, tree ch, array<page_item> l, stack_border sb);
00025   operator tree ();
00026   lazy produce (lazy_type request, format fm);
00027   /*
00028   void format_vstream ();
00029   format query (lazy_type request, format fm);
00030   */
00031 };
00032 
00033 struct lazy_vstream {
00034   EXTEND_NULL(lazy,lazy_vstream);
00035   inline lazy_vstream (path ip, tree ch, array<page_item> l, stack_border sb):
00036     rep (tm_new<lazy_vstream_rep> (ip, ch, l, sb)) { rep->ref_count= 1; }
00037 };
00038 EXTEND_NULL_CODE(lazy,lazy_vstream);
00039 
00040 #endif // defined LAZY_VSTREAM_H