Move rectangle_select onto the selection object

This commit is contained in:
Kovid Goyal
2018-03-26 12:37:36 +05:30
parent dd36727adf
commit 09710425ab
2 changed files with 6 additions and 6 deletions

View File

@@ -1410,7 +1410,7 @@ screen_apply_selection(Screen *self, void *address, size_t size) {
self->last_selection_scrolled_by = self->scrolled_by;
self->selection_updated_once = true;
selection_limits_(selection, &self->last_rendered_selection_start, &self->last_rendered_selection_end);
apply_selection(self, address, &self->last_rendered_selection_start, &self->last_rendered_selection_end, 1, self->rectangle_select);
apply_selection(self, address, &self->last_rendered_selection_start, &self->last_rendered_selection_end, 1, self->selection.rectangle_select);
selection_limits_(url_range, &self->last_rendered_url_start, &self->last_rendered_url_end);
apply_selection(self, address, &self->last_rendered_url_start, &self->last_rendered_url_end, 2, false);
}
@@ -1643,7 +1643,7 @@ text_for_selection(Screen *self, PyObject *a UNUSED) {
full_selection_limits_(selection, &start, &end);
PyObject *ans = NULL;
if (start.y == end.y && start.x == end.x) ans = PyTuple_New(0);
else text_for_range(ans, start, end, self->rectangle_select, true, range_line_, int);
else text_for_range(ans, start, end, self->selection.rectangle_select, true, range_line_, int);
return ans;
}
@@ -1734,9 +1734,9 @@ screen_is_selection_dirty(Screen *self) {
void
screen_start_selection(Screen *self, index_type x, index_type y, bool rectangle_select) {
self->rectangle_select = rectangle_select;
#define A(attr, val) self->selection.attr = val;
A(start_x, x); A(end_x, x); A(start_y, y); A(end_y, y); A(start_scrolled_by, self->scrolled_by); A(end_scrolled_by, self->scrolled_by); A(in_progress, true);
A(start_x, x); A(end_x, x); A(start_y, y); A(end_y, y); A(start_scrolled_by, self->scrolled_by); A(end_scrolled_by, self->scrolled_by);
A(in_progress, true); A(rectangle_select, rectangle_select);
#undef A
}

View File

@@ -24,7 +24,7 @@ typedef struct {
typedef struct {
unsigned int start_x, start_y, start_scrolled_by, end_x, end_y, end_scrolled_by;
bool in_progress;
bool in_progress, rectangle_select;
} Selection;
#define SAVEPOINTS_SZ 256
@@ -61,7 +61,7 @@ typedef struct {
Selection selection;
SelectionBoundary last_rendered_selection_start, last_rendered_selection_end, last_rendered_url_start, last_rendered_url_end;
Selection url_range;
bool use_latin1, selection_updated_once, is_dirty, scroll_changed, rectangle_select;
bool use_latin1, selection_updated_once, is_dirty, scroll_changed;
Cursor *cursor;
SavepointBuffer main_savepoints, alt_savepoints;
SavemodesBuffer modes_savepoints;