diff --git a/src/uterm.h b/src/uterm.h index 594a7f9..91d90fb 100644 --- a/src/uterm.h +++ b/src/uterm.h @@ -128,6 +128,9 @@ int uterm_screen_new_single(struct uterm_screen **out, void uterm_screen_ref(struct uterm_screen *screen); void uterm_screen_unref(struct uterm_screen *screen); +unsigned int uterm_screen_width(struct uterm_screen *screen); +unsigned int uterm_screen_height(struct uterm_screen *screen); + int uterm_screen_use(struct uterm_screen *screen); int uterm_screen_swap(struct uterm_screen *screen); diff --git a/src/uterm_video.c b/src/uterm_video.c index c882fa1..55d470c 100644 --- a/src/uterm_video.c +++ b/src/uterm_video.c @@ -101,6 +101,22 @@ void uterm_screen_unref(struct uterm_screen *screen) free(screen); } +unsigned int uterm_screen_width(struct uterm_screen *screen) +{ + if (!screen) + return 0; + + return uterm_mode_get_width(uterm_display_get_current(screen->disp)); +} + +unsigned int uterm_screen_height(struct uterm_screen *screen) +{ + if (!screen) + return 0; + + return uterm_mode_get_height(uterm_display_get_current(screen->disp)); +} + int uterm_screen_use(struct uterm_screen *screen) { if (!screen || !display_is_online(screen->disp))