diff options
author | rodri <rgl@antares-labs.eu> | 2024-03-26 10:42:23 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-03-26 10:42:23 +0000 |
commit | 02c06cfbc711c01d22bb0c52f8440f7060c10916 (patch) | |
tree | f5272530117eb133813c05949ebc8919544eb4f2 /viewport.c | |
parent | 0874435504c0816c0e5f11a2e852507626fe185e (diff) | |
download | libgraphics-02c06cfbc711c01d22bb0c52f8440f7060c10916.tar.gz libgraphics-02c06cfbc711c01d22bb0c52f8440f7060c10916.tar.bz2 libgraphics-02c06cfbc711c01d22bb0c52f8440f7060c10916.zip |
pass a Viewport in the Renderjob instead of a fb.
do the frame buffer clearing and swapping as part
of the rendering process, not within shootcamera.
Diffstat (limited to 'viewport.c')
-rw-r--r-- | viewport.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -20,6 +20,12 @@ viewport_memdraw(Viewport *v, Memimage *dst) v->fbctl->memdraw(v->fbctl, dst); } +static Framebuf * +viewport_getfb(Viewport *v) +{ + return v->fbctl->fb[v->fbctl->idx^1]; /* address the back buffer */ +} + Viewport * mkviewport(Rectangle r) { @@ -32,6 +38,7 @@ mkviewport(Rectangle r) v->fbctl = mkfbctl(r); v->draw = viewport_draw; v->memdraw = viewport_memdraw; + v->getfb = viewport_getfb; return v; } |