Remove overlap logic in Cell -- pointers invalidated by vector ops

This commit is contained in:
Keith Winstein
2011-02-01 01:16:55 -05:00
parent 9633920fdb
commit efabaaf963
3 changed files with 20 additions and 43 deletions
+4 -3
View File
@@ -9,9 +9,7 @@
namespace Terminal {
class Cell {
public:
Cell *overlapping_cell;
std::vector<wchar_t> contents;
std::vector<Cell *> overlapped_cells;
char fallback; /* first character is combining character */
int width;
std::vector<int> renditions; /* e.g., bold, blinking, etc. */
@@ -29,6 +27,9 @@ namespace Terminal {
std::vector<Cell> cells;
Row( size_t s_width );
void insert_cell( int col );
void delete_cell( int col );
};
class SavedCursor {
@@ -119,7 +120,7 @@ namespace Terminal {
Cell *get_combining_cell( void );
void apply_renditions_to_current_cell( void );
void claim_overlap( int row, int col );
void insert_line( int before_row );
void delete_line( int row );
};