diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2021-02-18 03:17:50 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2021-02-18 03:36:51 -0800 |
commit | f2d13f0b8cee3c68fd63e060facbf62c16e24ba2 (patch) | |
tree | 71166ea429fb18b012afea00259d0f8257dd5df3 /src/fb.h | |
parent | 6661cb3d0cbbc170b385d1ff66f525aac899df6a (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.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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[]); |