summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-09-23 13:52:50 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2014-09-23 20:05:45 +0200
commit158c1e3e0c1e9dd8ebf1b93061e1c81805eac339 (patch)
treed4c98d10bee2e3d4b1d3203fe298a9b49188d883
parenta908d213557cfbe874b7bd1ae3a1b0d3c05c29e9 (diff)
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.
-rw-r--r--src/libsystemd-terminal/grdev.c14
-rw-r--r--src/libsystemd-terminal/grdev.h2
2 files changed, 16 insertions, 0 deletions
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);