aboutsummaryrefslogtreecommitdiff
path: root/libdraw
diff options
context:
space:
mode:
authorbhgv <bhgv.empire@gmail.com>2018-03-10 02:23:07 +0200
committerbhgv <bhgv.empire@gmail.com>2018-03-10 02:23:07 +0200
commit6be8314bcc624a6cd8a3848dd0424fbac74ffc6d (patch)
tree18497d99c9ed034140ebce2194cda28e72a87772 /libdraw
parent6d35aa8bbc5a21ec699dd5cb157741f8766989d3 (diff)
preparing to implement clutter-windows
Diffstat (limited to 'libdraw')
-rw-r--r--libdraw/alloc.c46
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)
{