Back to index

texmacs  1.0.7.15
construct.hpp
Go to the documentation of this file.
00001 
00002 /******************************************************************************
00003 * MODULE     : construct.hpp
00004 * DESCRIPTION: the exported box construction routines
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 CONSTRUCT_H
00013 #define CONSTRUCT_H
00014 #include "boxes.hpp"
00015 #include "array.hpp"
00016 #include "font.hpp"
00017 #include "command.hpp"
00018 
00019 /******************************************************************************
00020 * Construction routines for boxes
00021 ******************************************************************************/
00022 
00023 box empty_box (path ip, int x1=0, int y1=0, int x2=0, int y2=0);
00024 box marker_box (path ip, int x1, int y1, int x2, int y2, box ref);
00025 box test_box (path ip);
00026 box line_box (path ip, SI x1, SI y1, SI x2, SI y2, SI w, color c);
00027 box arc_box (path ip, SI x1, SI y1, SI x2, SI y2,
00028             int a1, int a2, SI w, color c);
00029 box polygon_box (path ip, array<SI> x, array<SI> y, color c);
00030 box polygon_box (path ip, array<SI> x, array<SI> y, SI w, color cf, color cl);
00031 box image_box (path ip, url u, SI w, SI h, int alpha);
00032 
00033 box text_box (path ip, int pos, string s, font fn, color col);
00034 box delimiter_box (path ip, string s, font fn, color col, SI y1, SI y2);
00035 box big_operator_box (path ip, string s, font fn, color col, int n);
00036 box wide_box (path ip, string s, font fn, color col, SI width);
00037 box bracket_box (path ip, int br_type, SI penw, color col, SI y1, SI y2);
00038 box wide_hat_box (path ip, SI x1, SI x2, SI penw, color col);
00039 box wide_tilda_box (path ip, SI x1, SI x2, SI penw, color col);
00040 box wide_bar_box (path ip, SI x1, SI x2, SI penw, color col);
00041 box wide_vect_box (path ip, SI x1, SI x2, SI penw, color col);
00042 box wide_check_box (path ip, SI x1, SI x2, SI penw, color col);
00043 box wide_breve_box (path ip, SI x1, SI x2, SI penw, color col);
00044 box wide_squbr_box (path ip, SI x1, SI x2, SI penw, color col);
00045 box wide_sqobr_box (path ip, SI x1, SI x2, SI penw, color col);
00046 box control_box (path ip, tree t, font fn);
00047 box control_box (path ip, lazy lz, font fn);
00048 
00049 box concat_box (path ip, array<box> bs, array<SI> spc);
00050 box phrase_box (path ip, array<box> bs, array<SI> spc);
00051 box stack_box (path ip, array<box> bs, array<SI> spc);
00052 box composite_box (path ip, array<box> bs, bool bfl= true);
00053 box composite_box (path ip, array<box> bs, array<SI> x, array<SI> y,
00054                  bool bfl= true);
00055 box superpose_box (path ip, array<box> bs, bool bfl= true);
00056 box scatter_box (path ip, array<box> bs, array<SI> x, array<SI> y);
00057 box cell_box (path ip, box b, SI x0, SI y0, SI x1, SI y1, SI x2, SI y2,
00058              SI bl, SI br, SI bb, SI bt, color fg, tree bg, int alpha);
00059 box remember_box (path ip, box b);
00060 box highlight_box (path ip, box b, SI w, SI xpad, SI ypad,
00061                  tree bg, int alpha, color sunny, color shadow);
00062 
00063 box frac_box (path ip, box b1, box b2, font fn, font sfn, color c);
00064 box sqrt_box (path ip, box b1, box b2, box sqrtb, font fn, color c);
00065 box neg_box (path ip, box b, font fn, color c);
00066 box tree_box (path ip, array<box> bs, font fn, color line_c);
00067 box wide_box (path ip, box ref, box hi, font fn, SI sep, bool above);
00068 box repeat_box (path ip, box ref, box repeat, SI xoff=0);
00069 box limit_box (path ip, box ref, box lo, box hi, font fn, bool glued);
00070 box script_box (path ip, box b1, box b2, font fn);
00071 box left_script_box (path ip, box ref, box b1, box b2, font fn, int level);
00072 box right_script_box (path ip, box ref, box b1, box b2, font fn, int level);
00073 box side_box (path ip, box ref, box l1, box l2, box r1, box r2, font f, int l);
00074 box specific_box (path ip, box b, bool printer_flag, font fn);
00075 box flag_box (path ip, box b, SI h, SI lw, color dark, color light);
00076 box info_box (path ip, SI h, SI lw, color dark, color light);
00077 box scrollbar_box (path ip, box b, bool vertical, SI span, tree t);
00078 
00079 box symbol_box (path ip, box b, int n);
00080 box shorter_box (path ip, box b, int n);
00081 box frozen_box (path ip, box b);
00082 box move_box (path ip, box b, SI x, SI y, bool chf= false, bool bigf= false);
00083 box shift_box (path ip, box b, SI x, SI y, bool chf= false, bool bigf= false);
00084 box resize_box (path ip, box b, SI x1, SI y1, SI x2, SI y2,
00085               bool chf= false, bool adjust= false);
00086 box clip_box (path ip, box b, SI x1, SI y1, SI x2, SI y2);
00087 box clip_box (path ip, box b, SI x1, SI y1, SI x2, SI y2,
00088              tree xt, tree yt, SI scx, SI scy);
00089 box vcorrect_box (path ip, box b, SI top_cor, SI bot_cor);
00090 box page_box (path ip, tree page, SI w, SI h,
00091              array<box> bs  , array<SI> bs_x  , array<SI> bs_y,
00092              array<box> decs, array<SI> decs_x, array<SI> decs_y);
00093 box action_box (path ip, box b, tree filter, command cmd, bool child_flag);
00094 box action_box (path ip, box b, tree f, command c, bool ch, path vip);
00095 box locus_box (path ip, box b, list<string> ids, SI pixel);
00096 box locus_box (path ip, box b, list<string> ids, SI pixel, string ref, string anchor);
00097 box macro_box (path ip, box b, font big_fn= font ());
00098 box tag_box (path ip, box b, tree keys);
00099 
00100 box anim_compose_box (path ip, array<box> b);
00101 box anim_repeat_box (path ip, box b);
00102 box anim_constant_box (path ip, box b, int l);
00103 box anim_translate_box (path ip, box b, int len, SI sx, SI sy, SI ex, SI ey);
00104 box anim_progressive_box (path ip, box b, int len, rectangle r1, rectangle r2);
00105 box sound_box (path ip, url u, SI h);
00106 box video_box (path ip, url u, SI w, SI h, int a, int msecs, bool repeated);
00107 
00108 #endif // defined CONSTRUCT_H