/TeXmacs-1.0.7.11-src/src/Typeset/Boxes/construct.hpp
C++ Header | 108 lines | 86 code | 10 blank | 12 comment | 0 complexity | 36ecf62aa19311f3286a7485f86fff12 MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, MPL-2.0-no-copyleft-exception
1
2/******************************************************************************
3* MODULE : construct.hpp
4* DESCRIPTION: the exported box construction routines
5* COPYRIGHT : (C) 1999 Joris van der Hoeven
6*******************************************************************************
7* This software falls under the GNU general public license version 3 or later.
8* It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
9* in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
10******************************************************************************/
11
12#ifndef CONSTRUCT_H
13#define CONSTRUCT_H
14#include "boxes.hpp"
15#include "array.hpp"
16#include "font.hpp"
17#include "command.hpp"
18
19/******************************************************************************
20* Construction routines for boxes
21******************************************************************************/
22
23box empty_box (path ip, int x1=0, int y1=0, int x2=0, int y2=0);
24box marker_box (path ip, int x1, int y1, int x2, int y2, box ref);
25box test_box (path ip);
26box line_box (path ip, SI x1, SI y1, SI x2, SI y2, SI w, color c);
27box arc_box (path ip, SI x1, SI y1, SI x2, SI y2,
28 int a1, int a2, SI w, color c);
29box polygon_box (path ip, array<SI> x, array<SI> y, color c);
30box polygon_box (path ip, array<SI> x, array<SI> y, SI w, color cf, color cl);
31box image_box (path ip, url u, SI w, SI h, int alpha);
32
33box text_box (path ip, int pos, string s, font fn, color col);
34box delimiter_box (path ip, string s, font fn, color col, SI y1, SI y2);
35box big_operator_box (path ip, string s, font fn, color col, int n);
36box wide_box (path ip, string s, font fn, color col, SI width);
37box bracket_box (path ip, int br_type, SI penw, color col, SI y1, SI y2);
38box wide_hat_box (path ip, SI x1, SI x2, SI penw, color col);
39box wide_tilda_box (path ip, SI x1, SI x2, SI penw, color col);
40box wide_bar_box (path ip, SI x1, SI x2, SI penw, color col);
41box wide_vect_box (path ip, SI x1, SI x2, SI penw, color col);
42box wide_check_box (path ip, SI x1, SI x2, SI penw, color col);
43box wide_breve_box (path ip, SI x1, SI x2, SI penw, color col);
44box wide_squbr_box (path ip, SI x1, SI x2, SI penw, color col);
45box wide_sqobr_box (path ip, SI x1, SI x2, SI penw, color col);
46box control_box (path ip, tree t, font fn);
47box control_box (path ip, lazy lz, font fn);
48
49box concat_box (path ip, array<box> bs, array<SI> spc);
50box phrase_box (path ip, array<box> bs, array<SI> spc);
51box stack_box (path ip, array<box> bs, array<SI> spc);
52box composite_box (path ip, array<box> bs, bool bfl= true);
53box composite_box (path ip, array<box> bs, array<SI> x, array<SI> y,
54 bool bfl= true);
55box superpose_box (path ip, array<box> bs, bool bfl= true);
56box scatter_box (path ip, array<box> bs, array<SI> x, array<SI> y);
57box cell_box (path ip, box b, SI x0, SI y0, SI x1, SI y1, SI x2, SI y2,
58 SI bl, SI br, SI bb, SI bt, color fg, tree bg, int alpha);
59box remember_box (path ip, box b);
60box highlight_box (path ip, box b, SI w, SI xpad, SI ypad,
61 tree bg, int alpha, color sunny, color shadow);
62
63box frac_box (path ip, box b1, box b2, font fn, font sfn, color c);
64box sqrt_box (path ip, box b1, box b2, box sqrtb, font fn, color c);
65box neg_box (path ip, box b, font fn, color c);
66box tree_box (path ip, array<box> bs, font fn, color line_c);
67box wide_box (path ip, box ref, box hi, font fn, SI sep, bool above);
68box repeat_box (path ip, box ref, box repeat, SI xoff=0);
69box limit_box (path ip, box ref, box lo, box hi, font fn, bool glued);
70box script_box (path ip, box b1, box b2, font fn);
71box left_script_box (path ip, box ref, box b1, box b2, font fn, int level);
72box right_script_box (path ip, box ref, box b1, box b2, font fn, int level);
73box side_box (path ip, box ref, box l1, box l2, box r1, box r2, font f, int l);
74box specific_box (path ip, box b, bool printer_flag, font fn);
75box flag_box (path ip, box b, SI h, SI lw, color dark, color light);
76box info_box (path ip, SI h, SI lw, color dark, color light);
77box scrollbar_box (path ip, box b, bool vertical, SI span, tree t);
78
79box symbol_box (path ip, box b, int n);
80box shorter_box (path ip, box b, int n);
81box frozen_box (path ip, box b);
82box move_box (path ip, box b, SI x, SI y, bool chf= false, bool bigf= false);
83box shift_box (path ip, box b, SI x, SI y, bool chf= false, bool bigf= false);
84box resize_box (path ip, box b, SI x1, SI y1, SI x2, SI y2,
85 bool chf= false, bool adjust= false);
86box clip_box (path ip, box b, SI x1, SI y1, SI x2, SI y2);
87box clip_box (path ip, box b, SI x1, SI y1, SI x2, SI y2,
88 tree xt, tree yt, SI scx, SI scy);
89box vcorrect_box (path ip, box b, SI top_cor, SI bot_cor);
90box page_box (path ip, tree page, SI w, SI h,
91 array<box> bs , array<SI> bs_x , array<SI> bs_y,
92 array<box> decs, array<SI> decs_x, array<SI> decs_y);
93box action_box (path ip, box b, tree filter, command cmd, bool child_flag);
94box action_box (path ip, box b, tree f, command c, bool ch, path vip);
95box locus_box (path ip, box b, list<string> ids, SI pixel);
96box locus_box (path ip, box b, list<string> ids, SI pixel, string ref, string anchor);
97box macro_box (path ip, box b, font big_fn= font ());
98box tag_box (path ip, box b, tree keys);
99
100box anim_compose_box (path ip, array<box> b);
101box anim_repeat_box (path ip, box b);
102box anim_constant_box (path ip, box b, int l);
103box anim_translate_box (path ip, box b, int len, SI sx, SI sy, SI ex, SI ey);
104box anim_progressive_box (path ip, box b, int len, rectangle r1, rectangle r2);
105box sound_box (path ip, url u, SI h);
106box video_box (path ip, url u, SI w, SI h, int a, int msecs, bool repeated);
107
108#endif // defined CONSTRUCT_H