From 99b490cc87d98b3da5fca0655b1b14aeeef93209 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Mon, 29 Dec 1997 00:08:41 +0100
Subject: [PATCH] Added Window->Configure, Window->ChangeAttributes and
 Drawable->PolyLine

Rev: lib/modules/Protocols.pmod/X.pmod/Types.pmod:1.4
Rev: lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod:1.4
---
 lib/modules/Protocols.pmod/X.pmod/Types.pmod | 42 ++++++++++++++++++++
 lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod | 11 +++++
 2 files changed, 53 insertions(+)

diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
index 279bccf607..704ebc991b 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
@@ -159,6 +159,21 @@ class Drawable
     object req = FillRectangles_req(gc->id, r);
     display->send_request(req);
   }
+
+  object DrawLine_req(int gc, int coordMode, array(object) points)
+  {
+    object req = Requests.PolyLine();
+    req->drawable = id;
+    req->gc = gc;
+    req->coordMode = coordMode;
+    req->points = points;
+    return req;
+  }
+
+  void DrawLine(object gc, int coordMode, object ... points)
+  {
+    display->send_request(DrawLine_req(gc->id, coordMode, points));
+  }
 }
   
 class Window
@@ -228,6 +243,33 @@ class Window
     return w;
   }
 
+  object ChangeAttributes_req(mapping m)
+  {
+    object req = Requests.ChangeWindowAttributes();
+    req->window = id;
+    req->attributes = m;
+    return req;
+  }
+
+  void ChangeAttributes(mapping m)
+  {
+    display->send_request(ChangeAttributes_req(m));
+  }
+
+  object Configure_req(mapping m)
+  {
+    object req = Requests.ConfigureWindow();
+    req->window = id;
+    req->attributes = m;
+    return req;
+  }
+
+  void Configure(mapping m)
+  {
+    display->send_request(Configure_req(m));
+  }
+
+
   void set_event_callback(string type, function f)
   {
     event_callbacks[type] = f;
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
index 45fd957b3e..b21b382af2 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
@@ -22,6 +22,17 @@ array(string) window_attributes =
    "Colormap",
    "Cursor" });
 
+array(string) window_configure_attributes =
+({
+  "X",
+  "Y",
+  "Width",
+  "Height",
+  "BorderWidth",
+  "Sibling",
+  "StackMode"
+});
+
 array(string) gc_attributes =
 ({
   "Function",
-- 
GitLab