diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-01-30 18:22:52 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-01-30 18:22:52 +0100 |
commit | cefc849a9521c9d5ba85d5aa88526d0f4b059db9 (patch) | |
tree | b5f42fb9651de5734abc2e23647ca9ec7ea49c25 /sys/src/9/zynq | |
parent | 8e1218acebcb87bcf16e6bca5b5f213ff2a1df3a (diff) |
devdraw: get rid of softscreen==0xa110c hack and make attachscreen() return Memdata*
all screen implementations use a Memimage* internally
for the framebuffer, so we can return a shared reference
to its Memdata structure in attachscreen() instead of
a framebuffer data pointer.
this eleminates the softscreen == 0xa110c hack as we
always use shared Memdata* now.
Diffstat (limited to 'sys/src/9/zynq')
-rw-r--r-- | sys/src/9/zynq/screen.c | 8 | ||||
-rw-r--r-- | sys/src/9/zynq/screen.h | 2 |
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/src/9/zynq/screen.c b/sys/src/9/zynq/screen.c index fcf3a365c..ec91a820b 100644 --- a/sys/src/9/zynq/screen.c +++ b/sys/src/9/zynq/screen.c @@ -65,7 +65,7 @@ screeninit(void) conf.monitor = 1; } -uchar* +Memdata* attachscreen(Rectangle *r, ulong *chan, int* d, int *width, int *softscreen) { if(gscreen == nil) @@ -75,12 +75,10 @@ attachscreen(Rectangle *r, ulong *chan, int* d, int *width, int *softscreen) *d = gscreen->depth; *chan = gscreen->chan; *width = gscreen->width; + *softscreen = 1; - /* make devdraw use gscreen->data */ - *softscreen = 0xa110c; gscreen->data->ref++; - - return gscreen->data->bdata; + return gscreen->data; } void diff --git a/sys/src/9/zynq/screen.h b/sys/src/9/zynq/screen.h index 9ebbff673..1ea1a24d7 100644 --- a/sys/src/9/zynq/screen.h +++ b/sys/src/9/zynq/screen.h @@ -26,7 +26,7 @@ extern void mouseredraw(void); /* screen.c */ extern void blankscreen(int); extern void flushmemscreen(Rectangle); -extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*); +extern Memdata* attachscreen(Rectangle*, ulong*, int*, int*, int*); extern void cursoron(void); extern void cursoroff(void); extern void setcursor(Cursor*); |