From 158c1e3e0c1e9dd8ebf1b93061e1c81805eac339 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Tue, 23 Sep 2014 13:52:50 +0200 Subject: [PATCH] terminal: provide display dimensions to API users Allow users to query the display dimensions of a grdev_display. This is required to properly resize the objects to be rendered. --- src/libsystemd-terminal/grdev.c | 14 ++++++++++++++ src/libsystemd-terminal/grdev.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/libsystemd-terminal/grdev.c b/src/libsystemd-terminal/grdev.c index fa1fc378c..aaac06ec3 100644 --- a/src/libsystemd-terminal/grdev.c +++ b/src/libsystemd-terminal/grdev.c @@ -301,6 +301,18 @@ const char *grdev_display_get_name(grdev_display *display) { return display->name; } +uint32_t grdev_display_get_width(grdev_display *display) { + assert_return(display, 0); + + return display->width; +} + +uint32_t grdev_display_get_height(grdev_display *display) { + assert_return(display, 0); + + return display->height; +} + bool grdev_display_is_enabled(grdev_display *display) { return display && display->enabled; } @@ -572,6 +584,8 @@ static bool display_cache(grdev_display *display) { } display_cache_targets(display); + display->width = display->tile->cache_w; + display->height = display->tile->cache_h; r = 0; diff --git a/src/libsystemd-terminal/grdev.h b/src/libsystemd-terminal/grdev.h index 5f745aaad..6ca8a767c 100644 --- a/src/libsystemd-terminal/grdev.h +++ b/src/libsystemd-terminal/grdev.h @@ -112,6 +112,8 @@ void grdev_display_set_userdata(grdev_display *display, void *userdata); void *grdev_display_get_userdata(grdev_display *display); const char *grdev_display_get_name(grdev_display *display); +uint32_t grdev_display_get_width(grdev_display *display); +uint32_t grdev_display_get_height(grdev_display *display); bool grdev_display_is_enabled(grdev_display *display); void grdev_display_enable(grdev_display *display); -- 2.30.2