summaryrefslogtreecommitdiffstats
path: root/contrib/groff/src/roff/troff/env.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/groff/src/roff/troff/env.h')
-rw-r--r--contrib/groff/src/roff/troff/env.h33
1 files changed, 26 insertions, 7 deletions
diff --git a/contrib/groff/src/roff/troff/env.h b/contrib/groff/src/roff/troff/env.h
index 851a9a0..43a4c97 100644
--- a/contrib/groff/src/roff/troff/env.h
+++ b/contrib/groff/src/roff/troff/env.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -85,6 +85,7 @@ public:
~tab_stops();
void operator=(const tab_stops &);
tab_type distance_to_next_tab(hunits pos, hunits *distance);
+ tab_type distance_to_next_tab(hunits curpos, hunits *distance, hunits *leftpos);
void clear();
void add_tab(hunits pos, tab_type type, int repeated);
const char *to_string();
@@ -140,6 +141,7 @@ class environment {
int underline_spaces;
symbol input_trap;
int input_trap_count;
+ int continued_input_trap;
node *line; // in reverse order
hunits prev_text_length;
hunits width_total;
@@ -181,11 +183,15 @@ class environment {
#ifdef WIDOW_CONTROL
int widow_control;
#endif /* WIDOW_CONTROL */
- int need_eol;
int ignore_next_eol;
int emitted_node; // have we emitted a node since the last html eol tag?
+ color *glyph_color;
+ color *prev_glyph_color;
+ color *fill_color;
+ color *prev_fill_color;
tab_type distance_to_next_tab(hunits *);
+ tab_type distance_to_next_tab(hunits *distance, hunits *leftpos);
void start_line();
void output_line(node *, hunits);
void output(node *nd, int retain_size, vunits vs, vunits post_vs,
@@ -261,6 +267,12 @@ public:
int get_center_lines();
int get_right_justify_lines();
int get_prev_line_interrupted() { return prev_line_interrupted; }
+ color *get_fill_color();
+ color *get_glyph_color();
+ color *get_prev_glyph_color();
+ color *get_prev_fill_color();
+ void set_glyph_color(color *c);
+ void set_fill_color(color *c);
node *make_char_node(charinfo *);
node *extract_output_line();
void width_registers();
@@ -277,10 +289,11 @@ public:
void possibly_break_line(int start_here = 0, int forced = 0);
void do_break(int spread = 0); // .br
void final_break();
- void add_html_tag_eol();
- void add_html_tag(const char *);
- void add_html_tag(const char *, int);
- void add_html_tag_tabs();
+ void add_html_tag(int, const char *);
+ 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 *);
void newline();
void handle_tab(int is_leader = 0); // do a tab or leader
void add_node(node *);
@@ -291,6 +304,7 @@ public:
void space(hunits, hunits);
void space_newline();
const char *get_font_family_string();
+ const char *get_font_name_string();
const char *get_name_string();
const char *get_point_size_string();
const char *get_requested_point_size_string();
@@ -311,7 +325,7 @@ public:
friend void indent();
friend void temporary_indent();
friend void do_underline(int);
- friend void input_trap();
+ friend void do_input_trap(int);
friend void set_tabs();
friend void margin_character();
friend void no_number();
@@ -343,7 +357,12 @@ extern void push_env(int);
void init_environments();
void read_hyphen_file(const char *name);
+void title();
+
+extern double spread_limit;
extern int break_flag;
extern symbol default_family;
extern int translate_space_to_dummy;
+
+extern unsigned char hpf_code_table[];
OpenPOWER on IntegriCloud