diff options
author | Shreesh Adiga <16567adigashreesh@gmail.com> | 2020-11-11 15:30:08 +0530 |
---|---|---|
committer | avih <avih@users.noreply.github.com> | 2020-11-22 13:34:25 +0200 |
commit | 670f23f1698bb19ea2869e8f82198b2f9083ef88 (patch) | |
tree | 92185b9d21b3a85a7cf5e21e9e58c91bc1cb4747 /osdep/terminal-unix.c | |
parent | 38275338ee3d52fa703067ad8375077b1e4850a2 (diff) | |
download | mpv-670f23f1698bb19ea2869e8f82198b2f9083ef88.tar.bz2 mpv-670f23f1698bb19ea2869e8f82198b2f9083ef88.tar.xz |
osdep/terminal: Add function to get terminal pixel dimensions
Diffstat (limited to 'osdep/terminal-unix.c')
-rw-r--r-- | osdep/terminal-unix.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/osdep/terminal-unix.c b/osdep/terminal-unix.c index 8e4d75f78b..78eb4c4618 100644 --- a/osdep/terminal-unix.c +++ b/osdep/terminal-unix.c @@ -493,6 +493,19 @@ void terminal_get_size(int *w, int *h) *h = ws.ws_row; } +void terminal_get_size2(int *rows, int *cols, int *px_width, int *px_height) +{ + struct winsize ws; + if (ioctl(tty_in, TIOCGWINSZ, &ws) < 0 || !ws.ws_row || !ws.ws_col + || !ws.ws_xpixel || !ws.ws_ypixel) + return; + + *rows = ws.ws_row; + *cols = ws.ws_col; + *px_width = ws.ws_xpixel; + *px_height = ws.ws_ypixel; +} + void terminal_init(void) { assert(!getch2_enabled); |