summaryrefslogtreecommitdiff
path: root/src/fb.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2021-02-18 03:17:50 -0800
committerVito Caputo <vcaputo@pengaru.com>2021-02-18 03:36:51 -0800
commitf2d13f0b8cee3c68fd63e060facbf62c16e24ba2 (patch)
tree71166ea429fb18b012afea00259d0f8257dd5df3 /src/fb.h
parent6661cb3d0cbbc170b385d1ff66f525aac899df6a (diff)
fb: introduce fb_rebuild()
When an fb has been resized, all the pages can be forced to go through a backend free->alloc cycle by calling this function. This process gets queued and realized as the pages pass through the inactive state. This does mean that whatever pages are already queued as ready still get displayed, so it's not exactly without racing/flickering at the fringes on window growth. It's possible to do something with the pages in the ready queue to combat this, but for now I'm just leaving them be to keep it simple. The ready pages could be stretched or something...
Diffstat (limited to 'src/fb.h')
-rw-r--r--src/fb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/fb.h b/src/fb.h
index 5e1331e..9f87b3d 100644
--- a/src/fb.h
+++ b/src/fb.h
@@ -50,6 +50,7 @@ void fb_page_put(fb_t *fb, fb_page_t *page);
fb_t * fb_free(fb_t *fb);
void fb_get_put_pages_count(fb_t *fb, unsigned *count);
int fb_new(const fb_ops_t *ops, settings_t *settings, int n_pages, fb_t **res_fb);
+void fb_rebuild(fb_t *fb);
void * fb_context(fb_t *fb);
int fb_flip(fb_t *fb);
void fb_fragment_divide(fb_fragment_t *fragment, unsigned n_fragments, fb_fragment_t fragments[]);
© All Rights Reserved