Lines Matching +full:clip +full:- +full:x +full:- +full:low
2 * Copyright (C) 1984-2025 Mark Nudelman
13 * Uses termcap to be as terminal-independent as possible.
129 #define _settextposition(y,x) gotoxy(x,y) argument
191 public int vt_enabled = -1; /* Is virtual terminal processing available? */
227 *sc_deinit; /* Exit terminal de-initialization */
229 static int attrcolor = -1;
238 public int kill_char; /* The user's line-kill char */
239 public int werase_char; /* The user's word-erase char */
254 static int termcap_debug = -1;
314 s->c_lflag &= ~(0 in set_termio_flags()
332 s->c_oflag |= (0 in set_termio_flags()
341 s->c_oflag &= ~(0 in set_termio_flags()
365 * 5. Signal-causing characters such as ctrl-C (interrupt),
675 /* MS-DOS, Windows, or OS2 */ in raw_mode()
718 for (p = envs; p != NULL; p = p->next) in ltget_env()
719 if (strcmp(p->name, capname) == 0) in ltget_env()
720 return p->value; in ltget_env()
722 p->name = save(capname); in ltget_env()
723 p->value = (char *) ecalloc(strlen(capname)+3, sizeof(char)); in ltget_env()
724 sprintf(p->value, "<%s>", capname); in ltget_env()
725 p->next = envs; in ltget_env()
727 return p->value; in ltget_env()
751 return (-1); in ltgetnum()
813 sys_height = scr.srWindow.Bottom - scr.srWindow.Top + 1; in scrsize()
814 sys_width = scr.srWindow.Right - scr.srWindow.Left + 1; in scrsize()
957 while (msec-- > 0) in delay()
1296 * The user can turn it back on with -g, in get_term()
1303 * Get various string-valued capabilities. in get_term()
1377 * We need it only if we don't have home or lower-left. in get_term()
1430 strcpy(sp, tgoto(sc_move, 0, sc_height-1)); in get_term()
1472 shell_lines = sc_height - 1; in get_term()
1546 * terminal-specific screen manipulation.
1559 cpos.X = csbi.srWindow.Left + (col - 1); in _settextposition()
1560 cpos.Y = csbi.srWindow.Top + (row - 1); in _settextposition()
1608 /* don't care about the initial mode, and win VT hard-enables am+xn */ in win32_init_vt_term()
1626 * Termcap-like init with a private win32 console.
1653 // no disabled auto-return). in win32_init_term()
1658 size.X = scr.srWindow.Right - scr.srWindow.Left + 1; in win32_init_term()
1659 size.Y = scr.srWindow.Bottom - scr.srWindow.Top + 1; in win32_init_term()
1823 * but with saved scrolled-off-the-top lines. This way, in init()
1945 movetext(1,1, sc_width,sc_height-1, 1,2); in add_line()
1958 /* The clip rectangle is the entire visible screen. */ in add_line()
1966 rcSrc.Bottom--; in add_line()
1969 new_org.X = rcSrc.Left; in add_line()
1989 * into the scrollback buffer when we go down-one-line (in WIN32).
1999 if (n >= sc_height - 1)
2010 /* Get the extent of all-visible-rows-but-the-last. */
2016 /* Get the clip rectangle. */
2023 new_org.X = rcSrc.Left;
2024 new_org.Y = rcSrc.Top - n;
2034 goto_line(sc_height - n - 1);
2060 winsz = csbi.dwSize.X * (csbi.srWindow.Bottom - csbi.srWindow.Top + 1); in win32_clear()
2061 topleft.X = 0; in win32_clear()
2086 if (n >= sc_height - 1) in win32_scroll_up()
2100 /* Get the clip rectangle. */ in win32_scroll_up()
2107 new_org.X = rcSrc.Left; in win32_scroll_up()
2119 topleft.X = csbi.dwCursorPosition.X; in win32_scroll_up()
2120 topleft.Y = rcSrc.Bottom - n; in win32_scroll_up()
2121 size = (n * csbi.dwSize.X) + (rcSrc.Right - topleft.X); in win32_scroll_up()
2129 csbi.dwCursorPosition.Y -= n; in win32_scroll_up()
2164 row = scr.dwCursorPosition.Y - scr.srWindow.Top + 1; in line_left()
2196 size.Y = scr.srWindow.Bottom - scr.srWindow.Top + 1; in check_winch()
2197 size.X = scr.srWindow.Right - scr.srWindow.Left + 1; in check_winch()
2198 if (size.Y != sc_height || size.X != sc_width) in check_winch()
2201 sc_width = size.X; in check_winch()
2252 for (row = w.numtextrows; row > 0; row--) in create_flash()
2432 cpos.X = scr.dwCursorPosition.X; in clear_eol()
2436 scr.dwSize.X - cpos.X, cpos, &nchars); in clear_eol()
2438 scr.dwSize.X - cpos.X, cpos, &nchars); in clear_eol()
2447 * Clear the screen if there's off-screen memory below the display.
2469 * If we're in a non-normal attribute mode, temporarily exit in clear_bot()
2510 * Color string may be "x[y]" where x and y are 4-bit color chars,
2512 * Any of x,y,N,M may also be "-" to mean "unchanged".
2516 * Parse a 4-bit color char.
2538 case '-': return CV_NOCHANGE; in parse_color4()
2548 if (**ps == '-') in parse_color6()
2693 tput_fmt(ESCS"[m", -1, f_putc); in tput_color()
2927 row = scr.dwCursorPosition.Y - scr.srWindow.Top + 1; in putbs()
2928 col = scr.dwCursorPosition.X - scr.srWindow.Left + 1; in putbs()
2935 _settextposition(row, col-1); in putbs()
2974 wch->wc_ch = ch; in win32_enqueue()
2975 wch->wc_next = NULL; in win32_enqueue()
2981 for (pch = win32_queue; pch->wc_next != NULL; pch = pch->wc_next) in win32_enqueue()
2983 pch->wc_next = wch; in win32_enqueue()
2994 wch->wc_ch = ch; in WIN32ungetch()
2995 wch->wc_next = win32_queue; in WIN32ungetch()
3005 char ch = wch->wc_ch; in win32_get_queue()
3006 win32_queue = wch->wc_next; in win32_get_queue()
3018 if (!mousecap || xip->ir.EventType != MOUSE_EVENT) in win32_mouse_event()
3022 /* TODO: switch to the 1006 protocol to allow specific-button-up reports */ in win32_mouse_event()
3023 switch (xip->ir.Event.MouseEvent.dwEventFlags) in win32_mouse_event()
3026 if (xip->ir.Event.MouseEvent.dwButtonState == 0) in win32_mouse_event()
3028 else if (xip->ir.Event.MouseEvent.dwButtonState == 1) /* leftmost */ in win32_mouse_event()
3030 else if (xip->ir.Event.MouseEvent.dwButtonState == 2) /* rightmost */ in win32_mouse_event()
3032 else if (xip->ir.Event.MouseEvent.dwButtonState == 4) /* middle ("next-to-leftmost") */ in win32_mouse_event()
3038 …b = X11MOUSE_OFFSET + (((int)xip->ir.Event.MouseEvent.dwButtonState < 0) ? X11MOUSE_WHEEL_DOWN : X… in win32_mouse_event()
3041 if (xip->ir.Event.MouseEvent.dwButtonState != 1) in win32_mouse_event()
3054 win32_enqueue(X11MOUSE_OFFSET + xip->ir.Event.MouseEvent.dwMousePosition.X + 1); in win32_mouse_event()
3055 win32_enqueue(X11MOUSE_OFFSET + xip->ir.Event.MouseEvent.dwMousePosition.Y + 1); in win32_mouse_event()
3077 * Get an input char from an INPUT_RECORD and store in xip->ichar.
3082 LWCHAR ch = xip->ir.Event.KeyEvent.uChar.UnicodeChar; in win32_get_ichar()
3083 xip->ichar = ch; in win32_get_ichar()
3086 int is_down = xip->ir.Event.KeyEvent.bKeyDown; in win32_get_ichar()
3092 xip->ir.Event.KeyEvent.bKeyDown = 1; in win32_get_ichar()
3099 hi_surr = 0x10000 + ((ch - 0xD800) << 10); in win32_get_ichar()
3100 return (FALSE); /* get next input, which should be the low surrogate */ in win32_get_ichar()
3102 if (ch >= 0xDC00 && ch < 0xE000) { /* low surrogate */ in win32_get_ichar()
3103 xip->ichar = hi_surr + (ch - 0xDC00); in win32_get_ichar()
3111 * Handle a scan code (non-ASCII) key input.
3115 int scan = -1; in win32_scan_code()
3116 if (xip->ir.Event.KeyEvent.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) in win32_scan_code()
3118 switch (xip->ir.Event.KeyEvent.wVirtualScanCode) in win32_scan_code()
3130 } else if (xip->ir.Event.KeyEvent.dwControlKeyState & SHIFT_PRESSED) in win32_scan_code()
3132 if (xip->ichar == '\t') in win32_scan_code()
3135 if (scan < 0 && xip->ichar == 0) in win32_scan_code()
3136 scan = xip->ir.Event.KeyEvent.wVirtualScanCode; in win32_scan_code()
3157 if (xip->ir.EventType != KEY_EVENT || in win32_key_event()
3158 …((xip->ir.Event.KeyEvent.dwControlKeyState & (RIGHT_ALT_PRESSED|LEFT_CTRL_PRESSED)) == (RIGHT_ALT_… in win32_key_event()
3159 … (xip->ir.Event.KeyEvent.wVirtualScanCode == 0 && xip->ir.Event.KeyEvent.uChar.UnicodeChar == 0) || in win32_key_event()
3160 xip->ir.Event.KeyEvent.wVirtualScanCode == PCK_CAPS_LOCK || in win32_key_event()
3161 xip->ir.Event.KeyEvent.wVirtualScanCode == PCK_NUM_LOCK || in win32_key_event()
3162 …(xip->ir.Event.KeyEvent.wVirtualKeyCode == VK_MENU && xip->ir.Event.KeyEvent.uChar.UnicodeChar == … in win32_key_event()
3163 xip->ir.Event.KeyEvent.wVirtualKeyCode == VK_KANJI || in win32_key_event()
3164 xip->ir.Event.KeyEvent.wVirtualKeyCode == VK_SHIFT || in win32_key_event()
3165 xip->ir.Event.KeyEvent.wVirtualKeyCode == VK_CONTROL) in win32_key_event()
3170 if (!xip->ir.Event.KeyEvent.bKeyDown) in win32_key_event()
3176 repeat = xip->ir.Event.KeyEvent.wRepeatCount; in win32_key_event()
3180 put_wchar(&up, xip->ichar); in win32_key_event()
3181 for (; repeat > 0; --repeat) in win32_key_event()
3266 * We've got UTF-8 text in a non-UTF-8 console. Convert it to in WIN32textout()
3270 * "static" wtext is not a state - only avoid 16K on stack. in WIN32textout()
3280 len = sizeof(buf) - 1; in WIN32textout()