GCC Middle and Back End API Reference
text_art::table_geometry Class Reference

#include <table.h>

Collaboration diagram for text_art::table_geometry:

Public Member Functions

 table_geometry (const table &table, table_cell_sizes &cell_sizes)
void recalc_coords ()
const canvas::size_t get_canvas_size () const
canvas::coord_t table_to_canvas (table::coord_t table_coord) const
int table_x_to_canvas_x (int table_x) const
int table_y_to_canvas_y (int table_y) const
int get_col_width (int table_x) const
canvas::size_t get_canvas_size (const table::rect_t &rect) const

Private Attributes

table_cell_sizesm_cell_sizes
canvas::size_t m_canvas_size
std::vector< int > m_col_start_x
std::vector< int > m_row_start_y

Detailed Description

A class responsible for mapping from table cell coords
to canvas coords, handling column widths.
It's the result of solving "how big are all the table cells and where
do they go?"
The cell_sizes are passed in, for handling aligning multiple tables,
sharing column widths or row heights.   

Constructor & Destructor Documentation

◆ table_geometry()

table_geometry::table_geometry ( const table & table,
table_cell_sizes & cell_sizes )
class text_art::table_geometry.   

References m_canvas_size, m_cell_sizes, m_col_start_x, m_row_start_y, and recalc_coords().

Member Function Documentation

◆ get_canvas_size() [1/2]

◆ get_canvas_size() [2/2]

canvas::size_t text_art::table_geometry::get_canvas_size ( const table::rect_t & rect) const
inline

References m_cell_sizes.

◆ get_col_width()

int text_art::table_geometry::get_col_width ( int table_x) const
inline

◆ recalc_coords()

void table_geometry::recalc_coords ( )

◆ table_to_canvas()

canvas::coord_t table_geometry::table_to_canvas ( table::coord_t table_coord) const

◆ table_x_to_canvas_x()

int table_geometry::table_x_to_canvas_x ( int table_x) const
Get the left border of the table cell at column TABLE_X
in canvas coords (including the border).   

References m_canvas_size, and m_col_start_x.

Referenced by text_art::table::paint_cell_borders_to_canvas(), and table_to_canvas().

◆ table_y_to_canvas_y()

int table_geometry::table_y_to_canvas_y ( int table_y) const
Get the top border of the table cell at column TABLE_Y
in canvas coords (including the border).   

References m_canvas_size, and m_row_start_y.

Referenced by text_art::table::paint_cell_borders_to_canvas(), and table_to_canvas().

Field Documentation

◆ m_canvas_size

canvas::size_t text_art::table_geometry::m_canvas_size
private

◆ m_cell_sizes

table_cell_sizes& text_art::table_geometry::m_cell_sizes
private

◆ m_col_start_x

std::vector<int> text_art::table_geometry::m_col_start_x
private

◆ m_row_start_y

std::vector<int> text_art::table_geometry::m_row_start_y
private

The documentation for this class was generated from the following files: