summaryrefslogtreecommitdiff
path: root/src/libsystemd-terminal/grdev.h
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-10-02 18:26:06 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2014-10-03 15:57:00 +0200
commit51cff8bdedbc283b2403ab4a688903d8b1f2fab5 (patch)
tree8514ad964d0ba061244a8944c1fe4194cd77ef06 /src/libsystemd-terminal/grdev.h
parentaec3f44651998211d559b474bb830aad65680a62 (diff)
terminal/grdev: provide front and back buffer to renderers
We really want more sophisticated aging than just 64bit integers. So always provide front *and* back buffers to renderers so they can compare arbitrary aging information and decide whether to re-render.
Diffstat (limited to 'src/libsystemd-terminal/grdev.h')
-rw-r--r--src/libsystemd-terminal/grdev.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libsystemd-terminal/grdev.h b/src/libsystemd-terminal/grdev.h
index 6ca8a767c4..ca0373ed29 100644
--- a/src/libsystemd-terminal/grdev.h
+++ b/src/libsystemd-terminal/grdev.h
@@ -105,7 +105,8 @@ struct grdev_display_target {
uint32_t height;
unsigned int rotate;
unsigned int flip;
- const grdev_fb *fb;
+ const grdev_fb *front;
+ const grdev_fb *back;
};
void grdev_display_set_userdata(grdev_display *display, void *userdata);
@@ -119,13 +120,13 @@ bool grdev_display_is_enabled(grdev_display *display);
void grdev_display_enable(grdev_display *display);
void grdev_display_disable(grdev_display *display);
-const grdev_display_target *grdev_display_next_target(grdev_display *display, const grdev_display_target *prev, uint64_t minage);
+const grdev_display_target *grdev_display_next_target(grdev_display *display, const grdev_display_target *prev);
void grdev_display_flip_target(grdev_display *display, const grdev_display_target *target, uint64_t age);
-#define GRDEV_DISPLAY_FOREACH_TARGET(_display, _t, _minage) \
- for ((_t) = grdev_display_next_target((_display), NULL, (_minage)); \
- (_t); \
- (_t) = grdev_display_next_target((_display), (_t), (_minage)))
+#define GRDEV_DISPLAY_FOREACH_TARGET(_display, _t) \
+ for ((_t) = grdev_display_next_target((_display), NULL); \
+ (_t); \
+ (_t) = grdev_display_next_target((_display), (_t)))
/*
* Events