aboutsummaryrefslogtreecommitdiff
path: root/gcc/text-art/table.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/text-art/table.h')
-rw-r--r--gcc/text-art/table.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/gcc/text-art/table.h b/gcc/text-art/table.h
index 17eda91..5d5d4bd 100644
--- a/gcc/text-art/table.h
+++ b/gcc/text-art/table.h
@@ -115,6 +115,7 @@ class table
const table_cell_content &get_content () const { return m_content; }
private:
+ friend class table;
friend class table_cell_sizes;
rect_t m_rect;
table_cell_content m_content;
@@ -130,11 +131,18 @@ class table
const size_t &get_size () const { return m_size; }
+ int add_rows (unsigned num)
+ {
+ int topmost_new_row = m_size.h;
+ m_size.h += num;
+ for (unsigned i = 0; i < num; i++)
+ m_occupancy.add_row (-1);
+ return topmost_new_row;
+ }
+
int add_row ()
{
- m_size.h++;
- m_occupancy.add_row (-1);
- return m_size.h - 1; // return the table_y of the newly-added row
+ return add_rows (1);
}
void set_cell (coord_t coord,
@@ -147,6 +155,11 @@ class table
enum x_align x_align = x_align::CENTER,
enum y_align y_align = y_align::CENTER);
+ void maybe_set_cell_span (rect_t span,
+ table_cell_content &&content,
+ enum x_align x_align = x_align::CENTER,
+ enum y_align y_align = y_align::CENTER);
+
canvas to_canvas (const theme &theme, const style_manager &sm) const;
void paint_to_canvas(canvas &canvas,
@@ -156,6 +169,8 @@ class table
void debug () const;
+ void add_other_table (table &&other, table::coord_t offset);
+
/* Self-test support. */
const cell_placement *get_placement_at (coord_t coord) const;