diff options
| author | bhgv <bhgv.empire@gmail.com> | 2018-03-10 02:23:07 +0200 |
|---|---|---|
| committer | bhgv <bhgv.empire@gmail.com> | 2018-03-10 02:23:07 +0200 |
| commit | 6be8314bcc624a6cd8a3848dd0424fbac74ffc6d (patch) | |
| tree | 18497d99c9ed034140ebce2194cda28e72a87772 /libdraw | |
| parent | 6d35aa8bbc5a21ec699dd5cb157741f8766989d3 (diff) | |
preparing to implement clutter-windows
Diffstat (limited to 'libdraw')
| -rw-r--r-- | libdraw/alloc.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libdraw/alloc.c b/libdraw/alloc.c index 8b55c5e..f29dbe3 100644 --- a/libdraw/alloc.c +++ b/libdraw/alloc.c @@ -2,6 +2,52 @@ #include "draw.h" #include "kernel.h" + +void +attachtowindow(Image *i) +{ + uchar *a; + char *err; +// Image *i; + Rectangle r; + int id; + Display *d; + + err = 0; + + if(i == nil){ + err = "bad image descriptor"; + Error: + if(err) + kwerrstr("attachtowindow: %s", err); + else + kwerrstr("attachtowindow: %r"); + return; + } + d = i->display; + + /* flush pending data so we don't get error allocating the image */ + flushimage(d, 0); + a = bufimage(d, 1+4); + if(a == 0) + goto Error; + + id = i->id; + r = i->r; + + a[0] = 'W'; + BPLONG(a+1, id); +// BPLONG(a+5, screenid); +// BPLONG(a+15, r.min.x); +// BPLONG(a+19, r.min.y); +// BPLONG(a+23, r.max.x); +// BPLONG(a+27, r.max.y); + + if(flushimage(d, 0) < 0) + goto Error; +} + + Image* allocimage(Display *d, Rectangle r, ulong chan, int repl, ulong val) { |
