chiark / gitweb /
terminal: provide display dimensions to API users
authorDavid Herrmann <dh.herrmann@gmail.com>
Tue, 23 Sep 2014 11:52:50 +0000 (13:52 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Tue, 23 Sep 2014 18:05:45 +0000 (20:05 +0200)
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
src/libsystemd-terminal/grdev.h

index fa1fc37..aaac06e 100644 (file)
@@ -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;
 
index 5f745aa..6ca8a76 100644 (file)
@@ -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);