19 |
with groff; see the file COPYING. If not, write to the Free Software |
with groff; see the file COPYING. If not, write to the Free Software |
20 |
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
21 |
|
|
22 |
|
class statem; |
23 |
|
|
24 |
struct size_range { |
struct size_range { |
25 |
int min; |
int min; |
26 |
int max; |
int max; |
151 |
hunits width_total; |
hunits width_total; |
152 |
int space_total; |
int space_total; |
153 |
hunits input_line_start; |
hunits input_line_start; |
|
tab_stops tabs; |
|
154 |
node *tab_contents; |
node *tab_contents; |
155 |
hunits tab_width; |
hunits tab_width; |
156 |
hunits tab_distance; |
hunits tab_distance; |
186 |
#ifdef WIDOW_CONTROL |
#ifdef WIDOW_CONTROL |
187 |
int widow_control; |
int widow_control; |
188 |
#endif /* WIDOW_CONTROL */ |
#endif /* WIDOW_CONTROL */ |
|
int ignore_next_eol; |
|
|
int emitted_node; // have we emitted a node since the last html eol tag? |
|
189 |
color *glyph_color; |
color *glyph_color; |
190 |
color *prev_glyph_color; |
color *prev_glyph_color; |
191 |
color *fill_color; |
color *fill_color; |
194 |
tab_type distance_to_next_tab(hunits *); |
tab_type distance_to_next_tab(hunits *); |
195 |
tab_type distance_to_next_tab(hunits *distance, hunits *leftpos); |
tab_type distance_to_next_tab(hunits *distance, hunits *leftpos); |
196 |
void start_line(); |
void start_line(); |
197 |
void output_line(node *, hunits); |
void output_line(node *, hunits, int); |
198 |
void output(node *nd, int retain_size, vunits vs, vunits post_vs, |
void output(node *nd, int retain_size, vunits vs, vunits post_vs, |
199 |
hunits width); |
hunits width, int was_centered); |
200 |
void output_title(node *nd, int retain_size, vunits vs, vunits post_vs, |
void output_title(node *nd, int retain_size, vunits vs, vunits post_vs, |
201 |
hunits width); |
hunits width); |
202 |
#ifdef WIDOW_CONTROL |
#ifdef WIDOW_CONTROL |
210 |
node *make_tab_node(hunits d, node *next = 0); |
node *make_tab_node(hunits d, node *next = 0); |
211 |
node *get_prev_char(); |
node *get_prev_char(); |
212 |
public: |
public: |
213 |
|
int seen_space; |
214 |
|
int seen_eol; |
215 |
|
int suppress_next_eol; |
216 |
|
int seen_break; |
217 |
|
tab_stops tabs; |
218 |
const symbol name; |
const symbol name; |
219 |
unsigned char control_char; |
unsigned char control_char; |
220 |
unsigned char no_break_control_char; |
unsigned char no_break_control_char; |
223 |
environment(symbol); |
environment(symbol); |
224 |
environment(const environment *); // for temporary environment |
environment(const environment *); // for temporary environment |
225 |
~environment(); |
~environment(); |
226 |
|
statem *construct_state(int only_eol); |
227 |
void copy(const environment *); |
void copy(const environment *); |
228 |
int is_dummy() { return dummy; } |
int is_dummy() { return dummy; } |
229 |
int is_empty(); |
int is_empty(); |
296 |
void possibly_break_line(int start_here = 0, int forced = 0); |
void possibly_break_line(int start_here = 0, int forced = 0); |
297 |
void do_break(int spread = 0); // .br |
void do_break(int spread = 0); // .br |
298 |
void final_break(); |
void final_break(); |
299 |
void add_html_tag(int, const char *); |
node *make_tag(const char *name, int i); |
|
void add_html_tag(int, const char *, int); |
|
|
void add_html_tag_tabs(int); |
|
|
node *make_html_tag(const char *name, int i); |
|
|
node *make_html_tag(const char *); |
|
300 |
void newline(); |
void newline(); |
301 |
void handle_tab(int is_leader = 0); // do a tab or leader |
void handle_tab(int is_leader = 0); // do a tab or leader |
302 |
void add_node(node *); |
void add_node(node *); |
315 |
const char *get_point_size_string(); |
const char *get_point_size_string(); |
316 |
const char *get_requested_point_size_string(); |
const char *get_requested_point_size_string(); |
317 |
void output_pending_lines(); |
void output_pending_lines(); |
318 |
|
void construct_format_state(node *n, int was_centered, int fill); |
319 |
|
void construct_new_line_state(node *n); |
320 |
|
void dump_troff_state(); |
321 |
|
|
322 |
friend void title_length(); |
friend void title_length(); |
323 |
friend void space_size(); |
friend void space_size(); |