Lines Matching refs:si

93   struct screen_info si;
96 static void get_screen_info(uv_tty_t* tty_out, struct screen_info* si) {
97 ASSERT(GetConsoleScreenBufferInfo(tty_out->handle, &(si->csbi)));
98 si->width = si->csbi.dwSize.X;
99 si->height = si->csbi.srWindow.Bottom - si->csbi.srWindow.Top + 1;
100 si->length = si->width * si->height;
101 si->default_attr = si->csbi.wAttributes;
102 si->top = si->csbi.srWindow.Top;
154 static BOOL is_scrolling(uv_tty_t* tty_out, struct screen_info si) {
157 return info.srWindow.Top != si.top;
185 static void clear_screen(uv_tty_t* tty_out, struct screen_info* si) {
197 tty_out->handle, si->default_attr, length, origin, &number_of_written);
211 get_screen_info(tty_out, &(cs->si));
213 origin.Y = cs->si.csbi.srWindow.Top;
214 cs->text = malloc(cs->si.length * sizeof(*cs->text));
216 cs->attributes = (WORD*) malloc(cs->si.length * sizeof(*cs->attributes));
219 tty_out->handle, cs->text, cs->si.length, origin, &length));
220 ASSERT_EQ((unsigned int) cs->si.length, length);
222 tty_out->handle, cs->attributes, cs->si.length, origin, &length));
223 ASSERT_EQ((unsigned int) cs->si.length, length);
233 start = cs->text + cs->si.width * (cursor_position.Y - 1);
237 end = cs->text + cs->si.length;
240 end = start + cs->si.width;
256 end = cs->text + cs->si.length;
259 end = start + cs->si.width;
265 ASSERT_LE(end - cs->text, cs->si.length);
276 start = cs->text + cs->si.width * (cursor_position.Y - 1) +
279 size_t remain_length = cs->si.length - (cs->text - start);
289 start = cs->attributes + cs->si.width * (cursor_position.Y - 1) +
291 size_t remain_length = cs->si.length - (cs->attributes - start);
310 if (actual->si.length != expect->si.length) {
313 if (actual->si.width != expect->si.width) {
316 if (actual->si.height != expect->si.height) {
319 while (current < actual->si.length) {
321 line = current / actual->si.width + 1;
322 col = current - actual->si.width * (line - 1) + 1;
332 line = current / actual->si.width + 1;
333 col = current - actual->si.width * (line - 1) + 1;
344 clear_screen(tty_out, &expect->si);
382 struct screen_info si;
387 get_screen_info(&tty_out, &si);
389 cursor_pos_old.X = si.width / 2;
390 cursor_pos_old.Y = si.height / 2;
402 snprintf(buffer, sizeof(buffer), "%s%dA", CSI, si.height / 4);
405 ASSERT_EQ(cursor_pos_old.Y - si.height / 4, cursor_pos.Y);
417 ASSERT(!is_scrolling(&tty_out, si));
433 struct screen_info si;
438 get_screen_info(&tty_out, &si);
440 cursor_pos_old.X = si.width / 2;
441 cursor_pos_old.Y = si.height / 2;
453 snprintf(buffer, sizeof(buffer), "%s%dB", CSI, si.height / 4);
456 ASSERT_EQ(cursor_pos_old.Y + si.height / 4, cursor_pos.Y);
460 cursor_pos_old.X = si.width / 2;
461 cursor_pos_old.Y = si.height;
468 ASSERT(!is_scrolling(&tty_out, si));
484 struct screen_info si;
489 get_screen_info(&tty_out, &si);
491 cursor_pos_old.X = si.width / 2;
492 cursor_pos_old.Y = si.height / 2;
504 snprintf(buffer, sizeof(buffer), "%s%dC", CSI, si.width / 4);
508 ASSERT_EQ(cursor_pos_old.X + si.width / 4, cursor_pos.X);
511 cursor_pos_old.X = si.width;
512 cursor_pos_old.Y = si.height / 2;
521 cursor_pos_old.X = si.width;
522 cursor_pos_old.Y = si.height;
529 ASSERT(!is_scrolling(&tty_out, si));
545 struct screen_info si;
550 get_screen_info(&tty_out, &si);
552 cursor_pos_old.X = si.width / 2;
553 cursor_pos_old.Y = si.height / 2;
565 snprintf(buffer, sizeof(buffer), "%s%dD", CSI, si.width / 4);
569 ASSERT_EQ(cursor_pos_old.X - si.width / 4, cursor_pos.X);
573 cursor_pos_old.Y = si.height / 2;
590 ASSERT(!is_scrolling(&tty_out, si));
606 struct screen_info si;
611 get_screen_info(&tty_out, &si);
613 cursor_pos_old.X = si.width / 2;
614 cursor_pos_old.Y = si.height / 2;
626 snprintf(buffer, sizeof(buffer), "%s%dE", CSI, si.height / 4);
629 ASSERT_EQ(cursor_pos_old.Y + si.height / 4, cursor_pos.Y);
633 cursor_pos_old.X = si.width / 2;
634 cursor_pos_old.Y = si.height;
641 ASSERT(!is_scrolling(&tty_out, si));
657 struct screen_info si;
662 get_screen_info(&tty_out, &si);
664 cursor_pos_old.X = si.width / 2;
665 cursor_pos_old.Y = si.height / 2;
677 snprintf(buffer, sizeof(buffer), "%s%dF", CSI, si.height / 4);
680 ASSERT_EQ(cursor_pos_old.Y - si.height / 4, cursor_pos.Y);
692 ASSERT(!is_scrolling(&tty_out, si));
708 struct screen_info si;
713 get_screen_info(&tty_out, &si);
715 cursor_pos_old.X = si.width / 2;
716 cursor_pos_old.Y = si.height / 2;
727 snprintf(buffer, sizeof(buffer), "%s%dG", CSI, si.width / 4);
730 ASSERT_EQ(si.width / 4, cursor_pos.X);
734 snprintf(buffer, sizeof(buffer), "%s%dG", CSI, si.width + 1);
737 ASSERT_EQ(si.width, cursor_pos.X);
754 struct screen_info si;
759 get_screen_info(&tty_out, &si);
761 cursor_pos.X = si.width / 2;
762 cursor_pos.Y = si.height / 2;
774 buffer, sizeof(buffer), "%s%d;%df", CSI, si.height / 2, si.width / 2);
777 ASSERT_EQ(si.width / 2, cursor_pos.X);
778 ASSERT_EQ(si.height / 2, cursor_pos.Y);
782 buffer, sizeof(buffer), "%s%d;%df", CSI, si.height / 2, si.width + 1);
785 ASSERT_EQ(si.width, cursor_pos.X);
786 ASSERT_EQ(si.height / 2, cursor_pos.Y);
789 buffer, sizeof(buffer), "%s%d;%df", CSI, si.height + 1, si.width / 2);
792 ASSERT_EQ(si.width / 2, cursor_pos.X);
793 ASSERT_EQ(si.height, cursor_pos.Y);
794 ASSERT(!is_scrolling(&tty_out, si));
855 cursor_pos.X = expect.si.width / 2;
856 cursor_pos.Y = expect.si.height / 2;
929 cursor_pos.X = expect.si.width / 2;
930 cursor_pos.Y = expect.si.height / 2;
1083 fg_attrs[8][1] = expect.si.default_attr & FOREGROUND_WHITE;
1084 bg_attrs[0][1] = expect.si.default_attr & BACKGROUND_WHITE;
1090 cursor_pos.X = expect.si.width / 2;
1091 cursor_pos.Y = expect.si.height / 2;
1092 attr = (expect.si.default_attr & ~FOREGROUND_WHITE) | fg_attrs[i][1];
1109 cursor_pos.X = expect.si.width / 2;
1110 cursor_pos.Y = expect.si.height / 2;
1111 attr = (expect.si.default_attr & ~BACKGROUND_WHITE) | bg_attrs[i][1];
1129 cursor_pos.X = expect.si.width / 2;
1130 cursor_pos.Y = expect.si.height / 2;
1131 attr = expect.si.default_attr & ~FOREGROUND_WHITE & ~BACKGROUND_WHITE;
1153 cursor_pos.X = expect.si.width / 2;
1154 cursor_pos.Y = expect.si.height / 2;
1156 attr = expect.si.default_attr;
1184 cursor_pos.X = expect.si.width / 2;
1185 cursor_pos.Y = expect.si.height / 2;
1187 attr = expect.si.default_attr;
1207 cursor_pos.X = expect.si.width / 2;
1208 cursor_pos.Y = expect.si.height / 2;
1210 attr = expect.si.default_attr;
1251 struct screen_info si;
1256 get_screen_info(&tty_out, &si);
1258 cursor_pos_old.X = si.width / 2;
1259 cursor_pos_old.Y = si.height / 2;
1266 cursor_pos.X = si.width / 4;
1267 cursor_pos.Y = si.height / 4;
1277 cursor_pos_old.X = si.width / 2;
1278 cursor_pos_old.Y = si.height / 2;
1285 cursor_pos.X = si.width / 4;
1286 cursor_pos.Y = si.height / 4;
1320 cursor_pos.X = expect.si.width;
1321 cursor_pos.Y = expect.si.height;
1337 ASSERT_OK(actual.si.csbi.srWindow.Top);
1553 expect.si.height / 2,
1554 expect.si.width / 2);
1578 cursor_pos_old.X = expect.si.width / 2;
1579 cursor_pos_old.Y = expect.si.height / 2;
1585 expect.si.height / 4,
1586 expect.si.width / 4);
1609 cursor_pos.X = expect.si.width / 2;
1610 cursor_pos.Y = expect.si.height / 2;