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