Lines Matching refs:row
26 .dwl = state->lineinfo[pos.row].doublewidth,
27 .dhl = state->lineinfo[pos.row].doubleheight,
34 fprintf(stderr, "libvterm: Unhandled putglyph U+%04x at (%d,%d)\n", chars[0], pos.col, pos.row);
39 if(state->pos.col == oldpos->col && state->pos.row == oldpos->row)
111 if(state->pos.row == SCROLLREGION_BOTTOM(state) - 1) {
121 else if(state->pos.row < state->rows-1)
122 state->pos.row++;
177 static void set_lineinfo(VTermState *state, int row, int force, int dwl, int dhl)
179 VTermLineInfo info = state->lineinfo[row];
196 (*state->callbacks->setlineinfo)(row, &info, state->lineinfo + row, state->cbdata))
198 state->lineinfo[row] = info;
231 if(state->pos.row == state->combine_pos.row && state->pos.col == state->combine_pos.col + state->combine_width) {
309 .start_row = state->pos.row,
310 .end_row = state->pos.row + 1,
404 if(state->pos.row == state->scrollregion_top) {
414 else if(state->pos.row > 0)
415 state->pos.row--;
435 static void output_mouse(VTermState *state, int code, int pressed, int modifiers, int col, int row)
443 if(row + 0x21 > 0xff)
444 row = 0xff - 0x21;
450 (code | modifiers) + 0x20, col + 0x21, row + 0x21);
462 len += fill_utf8(row + 0x21, utf8 + len);
471 code | modifiers, col + 1, row + 1, pressed ? 'M' : 'm');
479 code | modifiers, col + 1, row + 1);
484 static void mousefunc(int col, int row, int button, int pressed, int modifiers, void *data)
493 state->mouse_row = row;
508 output_mouse(state, button-1, pressed, modifiers, col, row);
511 output_mouse(state, button-4 + 0x40, pressed, modifiers, col, row);
514 else if(col != old_col || row != old_row) {
520 output_mouse(state, button-1 + 0x20, 1, modifiers, col, row);
606 set_lineinfo(state, state->pos.row, NO_FORCE, DWL_ON, DHL_TOP);
612 set_lineinfo(state, state->pos.row, NO_FORCE, DWL_ON, DHL_BOTTOM);
618 row, NO_FORCE, DWL_OFF, DHL_OFF);
624 set_lineinfo(state, state->pos.row, NO_FORCE, DWL_ON, DHL_OFF);
631 for(pos.row = 0; pos.row < state->rows; pos.row++)
632 for(pos.col = 0; pos.col < ROWWIDTH(state, pos.row); pos.col++)
745 state->pos.row = state->mode.origin ? state->scrollregion_top : 0;
768 for(int row = 0; row < state->rows; row++)
769 set_lineinfo(state, row, FORCE, DWL_OFF, DHL_OFF);
939 int row, col;
953 rect.start_row = state->pos.row;
954 rect.end_row = state->pos.row + 1;
967 state->pos.row -= count;
973 state->pos.row += count;
992 state->pos.row += count;
999 state->pos.row -= count;
1010 row = CSI_ARG_OR(args[0], 1);
1013 state->pos.row = row-1;
1016 state->pos.row += state->scrollregion_top;
1033 rect.start_row = state->pos.row; rect.end_row = state->pos.row + 1;
1038 rect.start_row = state->pos.row + 1; rect.end_row = state->rows;
1040 for(int row = rect.start_row; row < rect.end_row; row++)
1041 set_lineinfo(state, row, FORCE, DWL_OFF, DHL_OFF);
1047 rect.start_row = 0; rect.end_row = state->pos.row;
1049 for(int row = rect.start_row; row < rect.end_row; row++)
1050 set_lineinfo(state, row, FORCE, DWL_OFF, DHL_OFF);
1054 rect.start_row = state->pos.row; rect.end_row = state->pos.row + 1;
1063 for(int row = rect.start_row; row < rect.end_row; row++)
1064 set_lineinfo(state, row, FORCE, DWL_OFF, DHL_OFF);
1073 rect.start_row = state->pos.row;
1074 rect.end_row = state->pos.row + 1;
1096 rect.start_row = state->pos.row;
1108 rect.start_row = state->pos.row;
1120 rect.start_row = state->pos.row;
1121 rect.end_row = state->pos.row + 1;
1159 rect.start_row = state->pos.row;
1160 rect.end_row = state->pos.row + 1;
1197 row = CSI_ARG_OR(args[0], 1);
1198 state->pos.row = row-1;
1200 state->pos.row += state->scrollregion_top;
1206 state->pos.row += count;
1211 row = CSI_ARG_OR(args[0], 1);
1214 state->pos.row = row-1;
1217 state->pos.row += state->scrollregion_top;
1263 state->pos.row -= count;
1296 vterm_push_output_sprintf_ctrl(state->vt, C1_CSI, "%s%d;%dR", qmark, state->pos.row + 1, state->pos.col + 1);
1413 LBOUND(state->pos.row, state->scrollregion_top);
1414 UBOUND(state->pos.row, state->scrollregion_bottom-1);
1419 LBOUND(state->pos.row, 0);
1420 UBOUND(state->pos.row, state->rows-1);
1548 int row;
1549 for(row = 0; row < state->rows && row < rows; row++) {
1550 newlineinfo[row] = state->lineinfo[row];
1553 for( ; row < rows; row++) {
1554 newlineinfo[row] = (VTermLineInfo){
1576 state->pos.row += delta.row;
1579 if(state->pos.row >= rows)
1580 state->pos.row = rows - 1;
1647 for(int row = 0; row < state->rows; row++)
1648 set_lineinfo(state, row, FORCE, DWL_OFF, DHL_OFF);
1677 state->pos.row = 0;
1748 const VTermLineInfo *vterm_state_get_lineinfo(const VTermState *state, int row)
1750 return state->lineinfo + row;